From 4a3589f2d7d33140e6ffdbde48a601b18c75f1d4 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Sat, 9 Apr 2016 12:18:00 +0000 Subject: [PATCH] Imported Upstream version 3.6.1~20160216 --- CMake/dcmtkPrepare.cmake | 10 +- CMake/osconfig.h.in | 5 + CMakeLists.txt | 1 + COPYRIGHT | 40 +- VERSION | 2 +- config/Makefile.def.in | 2 +- config/Makefile.in | 1 + config/arith.cc | 6 +- config/configure | 5 +- config/configure.in | 4 +- config/docs/macros.txt | 2 +- config/include/dcmtk/config/osconfig.h.in | 7 +- dcmdata/apps/Makefile.dep | 69 +- dcmdata/apps/dcm2xml.cc | 28 +- dcmdata/apps/dcmdump.cc | 5 +- dcmdata/apps/dcmgpdir.cc | 14 +- dcmdata/apps/dump2dcm.cc | 6 +- dcmdata/apps/mdfdsman.h | 32 +- dcmdata/apps/xml2dcm.cc | 7 +- dcmdata/data/dicom.dic | 90 +- dcmdata/docs/dcm2xml.man | 9 +- dcmdata/docs/dump2dcm.man | 6 +- dcmdata/include/dcmtk/dcmdata/dcbytstr.h | 7 +- dcmdata/include/dcmtk/dcmdata/dcdatutl.h | 15 +- dcmdata/include/dcmtk/dcmdata/dcddirif.h | 20 +- dcmdata/include/dcmtk/dcmdata/dcdeftag.h | 69 +- dcmdata/include/dcmtk/dcmdata/dcdirrec.h | 6 +- dcmdata/include/dcmtk/dcmdata/dcelem.h | 60 +- dcmdata/include/dcmtk/dcmdata/dcitem.h | 103 +- dcmdata/include/dcmtk/dcmdata/dcmetinf.h | 10 +- dcmdata/include/dcmtk/dcmdata/dcobject.h | 27 +- dcmdata/include/dcmtk/dcmdata/dcsequen.h | 12 +- dcmdata/include/dcmtk/dcmdata/dctk.h | 3 +- dcmdata/include/dcmtk/dcmdata/dcuid.h | 13 +- dcmdata/include/dcmtk/dcmdata/dcvr.h | 29 +- dcmdata/include/dcmtk/dcmdata/dcvrlo.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrlt.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrobow.h | 6 +- dcmdata/include/dcmtk/dcmdata/dcvrod.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrof.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrol.h | 112 + dcmdata/include/dcmtk/dcmdata/dcvrpn.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrsh.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrst.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvruc.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrul.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcvrulup.h | 12 +- dcmdata/include/dcmtk/dcmdata/dcvrut.h | 4 +- dcmdata/include/dcmtk/dcmdata/dcxfer.h | 8 +- dcmdata/libi2d/Makefile.dep | 12 + dcmdata/libsrc/CMakeLists.txt | 6 +- dcmdata/libsrc/Makefile.dep | 228 +- dcmdata/libsrc/Makefile.in | 2 +- dcmdata/libsrc/dcdatset.cc | 31 +- dcmdata/libsrc/dcdatutl.cc | 18 +- dcmdata/libsrc/dcddirif.cc | 142 +- dcmdata/libsrc/dcdictbi.cc | 262 +- dcmdata/libsrc/dcdirrec.cc | 42 +- dcmdata/libsrc/dcelem.cc | 4 +- dcmdata/libsrc/dcfilefo.cc | 27 +- dcmdata/libsrc/dcitem.cc | 105 +- dcmdata/libsrc/dcmetinf.cc | 19 +- dcmdata/libsrc/dcpxitem.cc | 83 +- dcmdata/libsrc/dcsequen.cc | 28 +- dcmdata/libsrc/dcuid.cc | 39 +- dcmdata/libsrc/dcvr.cc | 31 +- dcmdata/libsrc/dcvrfd.cc | 4 +- dcmdata/libsrc/dcvrfl.cc | 4 +- dcmdata/libsrc/dcvrod.cc | 10 +- dcmdata/libsrc/dcvrof.cc | 4 +- dcmdata/libsrc/dcvrol.cc | 148 + dcmdata/libsrc/dcvrul.cc | 4 +- dcmdata/tests/CMakeLists.txt | 2 +- dcmdata/tests/Makefile.dep | 114 +- dcmdata/tests/Makefile.in | 4 +- dcmdata/tests/tchval.cc | 3 +- dcmdata/tests/telemlen.cc | 3 +- dcmdata/tests/tests.cc | 4 +- dcmdata/tests/tvrcomp.cc | 177 +- dcmdata/tests/tvrol.cc | 51 + dcmfg/include/dcmtk/dcmfg/fgderimg.h | 6 +- dcmfg/include/dcmtk/dcmfg/fgfracon.h | 22 +- dcmfg/include/dcmtk/dcmfg/fgframevoilut.h | 4 +- dcmfg/include/dcmtk/dcmfg/fgpixmsr.h | 2 +- dcmfg/include/dcmtk/dcmfg/fgplanposvol.h | 6 +- .../dcmtk/dcmfg/fgrealworldvaluemapping.h | 14 +- dcmfg/libsrc/Makefile.dep | 54 + dcmfg/libsrc/fgderimg.cc | 9 +- dcmfg/libsrc/fgfracon.cc | 16 +- dcmfg/libsrc/fgframevoilut.cc | 2 + dcmfg/libsrc/fgimagedatatype.cc | 4 +- dcmfg/libsrc/fginterface.cc | 2 +- dcmfg/libsrc/fgpixmsr.cc | 22 +- dcmfg/libsrc/fgplanposvol.cc | 3 + dcmfg/libsrc/fgrealworldvaluemapping.cc | 7 + dcmfg/libsrc/fgusimagedescription.cc | 11 +- dcmimage/apps/Makefile.dep | 9 + dcmimage/libsrc/Makefile.dep | 40 +- dcmimgle/apps/Makefile.dep | 5 + dcmimgle/include/dcmtk/dcmimgle/dibaslut.h | 4 +- dcmimgle/include/dcmtk/dcmimgle/diovpln.h | 4 +- dcmimgle/include/dcmtk/dcmimgle/dipxrept.h | 32 +- dcmimgle/libsrc/Makefile.dep | 59 +- dcmimgle/libsrc/diimage.cc | 11 +- dcmiod/CMakeLists.txt | 2 +- dcmiod/Makefile.in | 2 +- dcmiod/include/dcmtk/dcmiod/cielabutil.h | 212 ++ dcmiod/include/dcmtk/dcmiod/iodmacro.h | 11 +- dcmiod/include/dcmtk/dcmiod/iodutil.h | 4 +- dcmiod/include/dcmtk/dcmiod/modenhusimage.h | 7 +- dcmiod/include/dcmtk/dcmiod/modequipment.h | 6 +- .../include/dcmtk/dcmiod/modgeneralseries.h | 30 +- dcmiod/include/dcmtk/dcmiod/modimagepixel.h | 22 +- .../dcmtk/dcmiod/modmultiframedimension.h | 10 +- .../include/dcmtk/dcmiod/modsynchronisation.h | 4 +- dcmiod/libsrc/CMakeLists.txt | 1 + dcmiod/libsrc/Makefile.dep | 153 +- dcmiod/libsrc/Makefile.in | 4 +- dcmiod/libsrc/cielabutil.cc | 209 ++ dcmiod/libsrc/iodmacro.cc | 34 +- dcmiod/libsrc/iodutil.cc | 2 +- dcmiod/libsrc/modenhusimage.cc | 30 +- dcmiod/libsrc/modenhusseries.cc | 3 +- dcmiod/libsrc/modequipment.cc | 8 +- dcmiod/libsrc/modgeneralimage.cc | 6 +- dcmiod/libsrc/modgeneralseries.cc | 32 + dcmiod/libsrc/modimagepixel.cc | 7 +- dcmiod/libsrc/modmultiframedimension.cc | 6 +- dcmiod/libsrc/modsynchronization.cc | 1 + dcmiod/tests/CMakeLists.txt | 8 + dcmiod/tests/Makefile.dep | 90 + dcmiod/tests/Makefile.in | 42 +- dcmiod/tests/tcielabutil.cc | 129 + dcmiod/tests/tests.cc | 26 + dcmjpeg/apps/Makefile.dep | 12 + dcmjpeg/docs/dcmmkdir.man | 20 +- dcmjpeg/libsrc/Makefile.dep | 56 + dcmjpls/apps/Makefile.dep | 9 + dcmjpls/libcharls/Makefile.dep | 4 +- dcmjpls/libcharls/header.cc | 1 + dcmjpls/libsrc/Makefile.dep | 14 + dcmnet/apps/Makefile.dep | 25 +- dcmnet/apps/movescu.cc | 4 + dcmnet/docs/storescp.man | 5 +- dcmnet/etc/storescp.cfg | 5 +- dcmnet/etc/storescu.cfg | 5 +- dcmnet/include/dcmtk/dcmnet/dccftsmp.h | 14 +- dcmnet/include/dcmtk/dcmnet/diutil.h | 12 + dcmnet/include/dcmtk/dcmnet/dstorscu.h | 22 +- dcmnet/include/dcmtk/dcmnet/scp.h | 62 +- dcmnet/include/dcmtk/dcmnet/scu.h | 4 +- dcmnet/libsrc/Makefile.dep | 115 +- dcmnet/libsrc/assoc.cc | 4 + dcmnet/libsrc/dccftsmp.cc | 10 - dcmnet/libsrc/dcmtrans.cc | 16 +- dcmnet/libsrc/diutil.cc | 35 + dcmnet/libsrc/dstorscu.cc | 45 +- dcmnet/libsrc/dul.cc | 31 +- dcmnet/libsrc/dulextra.cc | 5 + dcmnet/libsrc/dulfsm.cc | 38 +- dcmnet/libsrc/dulparse.cc | 94 +- dcmnet/libsrc/scp.cc | 31 +- dcmnet/libsrc/scu.cc | 31 +- dcmnet/tests/Makefile.dep | 10 +- dcmpstat/apps/Makefile.dep | 29 + dcmpstat/libsrc/Makefile.dep | 120 + dcmpstat/tests/Makefile.dep | 18 +- dcmpstat/tests/msgserv.cc | 5 + dcmqrdb/apps/Makefile.dep | 6 + dcmqrdb/docs/dcmqrscp.man | 5 +- dcmqrdb/libsrc/Makefile.dep | 22 + dcmqrdb/libsrc/dcmqrdbi.cc | 3 +- dcmrt/apps/Makefile.dep | 24 +- dcmrt/include/dcmtk/dcmrt/drmimage.h | 8 +- dcmrt/include/dcmtk/dcmrt/drtdose.h | 68 +- dcmrt/include/dcmtk/dcmrt/drtimage.h | 68 +- dcmrt/include/dcmtk/dcmrt/drtionpl.h | 52 +- dcmrt/include/dcmtk/dcmrt/drtiontr.h | 52 +- dcmrt/include/dcmtk/dcmrt/drtplan.h | 52 +- dcmrt/include/dcmtk/dcmrt/drtstrct.h | 95 +- dcmrt/include/dcmtk/dcmrt/drttreat.h | 52 +- dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtads.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtafs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtags.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtarics.h | 73 +- dcmrt/include/dcmtk/dcmrt/seq/drtas1.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtas5.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtas6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtas7.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtass.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbads.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbas.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtbss.h | 341 ++ dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h | 22 +- dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h | 73 +- dcmrt/include/dcmtk/dcmrt/seq/drtccs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtces.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtchs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcims.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtcos.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h | 398 +++ dcmrt/include/dcmtk/dcmrt/seq/drtcps.h | 38 +- dcmrt/include/dcmtk/dcmrt/seq/drtcs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtcss.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtdias.h | 318 ++ dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtds.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtdss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drteas.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtecs.h | 382 +++ dcmrt/include/dcmtk/dcmrt/seq/drtes.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtfds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtfes.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtfms.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtgas.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtiais.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtians.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtibls.h | 46 +- dcmrt/include/dcmtk/dcmrt/seq/drtibs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drticpds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drticps.h | 22 +- dcmrt/include/dcmtk/dcmrt/seq/drtics.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtiis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtircs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtitts.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtiws.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtmas.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtmls.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtmps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtmss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtoas.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtois.h | 22 +- dcmrt/include/dcmtk/dcmrt/seq/drtopis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtos.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h | 367 +++ dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtpics.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtporis.h | 22 +- dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h | 73 +- dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h | 22 +- dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtpss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtqds.h | 537 ++++ dcmrt/include/dcmtk/dcmrt/seq/drtras.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h | 38 +- dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrics.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtrims.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtris.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrms.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h | 22 +- dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h | 21 +- dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrros.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrses.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrws.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h | 21 +- dcmrt/include/dcmtk/dcmrt/seq/drtscris.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtsds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtshds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtsis.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtsns.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h | 75 +- dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h | 73 +- dcmrt/include/dcmtk/dcmrt/seq/drtss.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drttms0.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drttms9.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drttscds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drttts.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtvls.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtwps.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h | 6 +- dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h | 302 ++ dcmrt/include/dcmtk/dcmrt/seq/drtws.h | 29 +- dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h | 6 +- dcmrt/libsrc/CMakeLists.txt | 2 +- dcmrt/libsrc/Makefile.dep | 2171 +++++++++++-- dcmrt/libsrc/Makefile.in | 52 +- dcmrt/libsrc/drmdose.cc | 10 +- dcmrt/libsrc/drtaadcs.cc | 112 +- dcmrt/libsrc/drtadcs.cc | 112 +- dcmrt/libsrc/drtads.cc | 112 +- dcmrt/libsrc/drtafs.cc | 6 +- dcmrt/libsrc/drtags.cc | 6 +- dcmrt/libsrc/drtajcs.cc | 112 +- dcmrt/libsrc/drtarics.cc | 112 +- dcmrt/libsrc/drtas1.cc | 6 +- dcmrt/libsrc/drtas5.cc | 6 +- dcmrt/libsrc/drtas6.cc | 6 +- dcmrt/libsrc/drtas7.cc | 6 +- dcmrt/libsrc/drtass.cc | 6 +- dcmrt/libsrc/drtbads.cc | 6 +- dcmrt/libsrc/drtbas.cc | 112 +- dcmrt/libsrc/drtbcps.cc | 6 +- dcmrt/libsrc/drtbl2.cc | 6 +- dcmrt/libsrc/drtbl5.cc | 6 +- dcmrt/libsrc/drtbldls.cc | 6 +- dcmrt/libsrc/drtbldps.cc | 6 +- dcmrt/libsrc/drtblds1.cc | 6 +- dcmrt/libsrc/drtblds5.cc | 6 +- dcmrt/libsrc/drtblds6.cc | 6 +- dcmrt/libsrc/drtbldts.cc | 6 +- dcmrt/libsrc/drtbrcss.cc | 112 +- dcmrt/libsrc/drtbrdrs.cc | 6 +- dcmrt/libsrc/drtbrs.cc | 6 +- dcmrt/libsrc/drtbs.cc | 6 +- dcmrt/libsrc/drtbss.cc | 607 ++++ dcmrt/libsrc/drtbvcps.cc | 33 +- dcmrt/libsrc/drtcbars.cc | 112 +- dcmrt/libsrc/drtccs.cc | 112 +- dcmrt/libsrc/drtcctus.cc | 6 +- dcmrt/libsrc/drtcdrs.cc | 6 +- dcmrt/libsrc/drtces.cc | 6 +- dcmrt/libsrc/drtchs.cc | 6 +- dcmrt/libsrc/drtcims.cc | 6 +- dcmrt/libsrc/drtcis.cc | 6 +- dcmrt/libsrc/drtcncs.cc | 112 +- dcmrt/libsrc/drtcos.cc | 6 +- dcmrt/libsrc/drtcpas.cc | 6 +- dcmrt/libsrc/drtcpis.cc | 674 ++++ dcmrt/libsrc/drtcps.cc | 58 +- dcmrt/libsrc/drtcs.cc | 6 +- dcmrt/libsrc/drtcsas.cc | 6 +- dcmrt/libsrc/drtcshs.cc | 6 +- dcmrt/libsrc/drtcsis.cc | 6 +- dcmrt/libsrc/drtcss.cc | 112 +- dcmrt/libsrc/drtdcs.cc | 112 +- dcmrt/libsrc/drtdias.cc | 569 ++++ dcmrt/libsrc/drtdimcs.cc | 112 +- dcmrt/libsrc/drtdimrs.cc | 6 +- dcmrt/libsrc/drtdirs.cc | 6 +- dcmrt/libsrc/drtdose.cc | 63 +- dcmrt/libsrc/drtdrs.cc | 6 +- dcmrt/libsrc/drtds.cc | 112 +- dcmrt/libsrc/drtdspcs.cc | 112 +- dcmrt/libsrc/drtdss.cc | 6 +- dcmrt/libsrc/drtdvhs.cc | 6 +- dcmrt/libsrc/drtdvrrs.cc | 6 +- dcmrt/libsrc/drteas.cc | 6 +- dcmrt/libsrc/drtecs.cc | 689 ++++ dcmrt/libsrc/drtes.cc | 6 +- dcmrt/libsrc/drtfds.cc | 6 +- dcmrt/libsrc/drtfes.cc | 6 +- dcmrt/libsrc/drtfgs.cc | 6 +- dcmrt/libsrc/drtfgss.cc | 6 +- dcmrt/libsrc/drtfms.cc | 6 +- dcmrt/libsrc/drtfsss.cc | 6 +- dcmrt/libsrc/drtgas.cc | 6 +- dcmrt/libsrc/drthsdrs.cc | 6 +- dcmrt/libsrc/drtiais.cc | 6 +- dcmrt/libsrc/drtians.cc | 6 +- dcmrt/libsrc/drtiblds.cc | 6 +- dcmrt/libsrc/drtibls.cc | 57 +- dcmrt/libsrc/drtibs.cc | 6 +- dcmrt/libsrc/drticpds.cc | 6 +- dcmrt/libsrc/drticps.cc | 33 +- dcmrt/libsrc/drtics.cc | 112 +- dcmrt/libsrc/drtiis.cc | 6 +- dcmrt/libsrc/drtimage.cc | 63 +- dcmrt/libsrc/drtionpl.cc | 39 +- dcmrt/libsrc/drtiontr.cc | 39 +- dcmrt/libsrc/drtipiqs.cc | 6 +- dcmrt/libsrc/drtircs.cc | 6 +- dcmrt/libsrc/drtiseis.cc | 6 +- dcmrt/libsrc/drtitts.cc | 6 +- dcmrt/libsrc/drtiwps.cc | 6 +- dcmrt/libsrc/drtiws.cc | 6 +- dcmrt/libsrc/drtlsds.cc | 6 +- dcmrt/libsrc/drtlsds6.cc | 6 +- dcmrt/libsrc/drtlsds7.cc | 6 +- dcmrt/libsrc/drtmacds.cc | 6 +- dcmrt/libsrc/drtmas.cc | 13 +- dcmrt/libsrc/drtmdrs.cc | 6 +- dcmrt/libsrc/drtmls.cc | 6 +- dcmrt/libsrc/drtmps.cc | 6 +- dcmrt/libsrc/drtmss.cc | 6 +- dcmrt/libsrc/drtmucs.cc | 112 +- dcmrt/libsrc/drtoas.cc | 6 +- dcmrt/libsrc/drtois.cc | 35 +- dcmrt/libsrc/drtopis.cc | 6 +- dcmrt/libsrc/drtos.cc | 6 +- dcmrt/libsrc/drtpbcs.cc | 112 +- dcmrt/libsrc/drtpcs.cc | 112 +- dcmrt/libsrc/drtpcxs.cc | 6 +- dcmrt/libsrc/drtpdecs.cc | 630 ++++ dcmrt/libsrc/drtpfms.cc | 6 +- dcmrt/libsrc/drtpics.cc | 112 +- dcmrt/libsrc/drtplan.cc | 39 +- dcmrt/libsrc/drtporcs.cc | 112 +- dcmrt/libsrc/drtporis.cc | 35 +- dcmrt/libsrc/drtppcs.cc | 112 +- dcmrt/libsrc/drtprsis.cc | 35 +- dcmrt/libsrc/drtpscs.cc | 112 +- dcmrt/libsrc/drtpsics.cc | 112 +- dcmrt/libsrc/drtpss.cc | 6 +- dcmrt/libsrc/drtpsss.cc | 6 +- dcmrt/libsrc/drtpvis.cc | 6 +- dcmrt/libsrc/drtqds.cc | 868 ++++++ dcmrt/libsrc/drtras.cc | 6 +- dcmrt/libsrc/drtrbas2.cc | 6 +- dcmrt/libsrc/drtrbas8.cc | 6 +- dcmrt/libsrc/drtrbls.cc | 6 +- dcmrt/libsrc/drtrbos1.cc | 6 +- dcmrt/libsrc/drtrbos6.cc | 6 +- dcmrt/libsrc/drtrbos7.cc | 6 +- dcmrt/libsrc/drtrbs2.cc | 6 +- dcmrt/libsrc/drtrbs4.cc | 6 +- dcmrt/libsrc/drtrbs8.cc | 6 +- dcmrt/libsrc/drtrcdrs.cc | 6 +- dcmrt/libsrc/drtrcos.cc | 6 +- dcmrt/libsrc/drtrcps.cc | 6 +- dcmrt/libsrc/drtrcs.cc | 56 +- dcmrt/libsrc/drtrdros.cc | 6 +- dcmrt/libsrc/drtrdrs1.cc | 6 +- dcmrt/libsrc/drtrdrs6.cc | 6 +- dcmrt/libsrc/drtrdrs8.cc | 6 +- dcmrt/libsrc/drtrds.cc | 6 +- dcmrt/libsrc/drtrecs.cc | 6 +- dcmrt/libsrc/drtrfgs.cc | 6 +- dcmrt/libsrc/drtrfors.cc | 6 +- dcmrt/libsrc/drtrics.cc | 112 +- dcmrt/libsrc/drtrims.cc | 6 +- dcmrt/libsrc/drtris.cc | 6 +- dcmrt/libsrc/drtrlsds.cc | 6 +- dcmrt/libsrc/drtrmdrs.cc | 6 +- dcmrt/libsrc/drtrms.cc | 6 +- dcmrt/libsrc/drtrmss6.cc | 6 +- dcmrt/libsrc/drtrmss7.cc | 6 +- dcmrt/libsrc/drtrpcs.cc | 112 +- dcmrt/libsrc/drtrpis.cc | 35 +- dcmrt/libsrc/drtrppcs.cc | 112 +- dcmrt/libsrc/drtrpphs.cc | 15 +- dcmrt/libsrc/drtrpps.cc | 6 +- dcmrt/libsrc/drtrppss.cc | 6 +- dcmrt/libsrc/drtrps.cc | 6 +- dcmrt/libsrc/drtrris1.cc | 6 +- dcmrt/libsrc/drtrris6.cc | 6 +- dcmrt/libsrc/drtrris9.cc | 6 +- dcmrt/libsrc/drtrrms.cc | 6 +- dcmrt/libsrc/drtrros.cc | 6 +- dcmrt/libsrc/drtrrpcs.cc | 112 +- dcmrt/libsrc/drtrrros.cc | 6 +- dcmrt/libsrc/drtrrs.cc | 6 +- dcmrt/libsrc/drtrrshs.cc | 6 +- dcmrt/libsrc/drtrrtps.cc | 6 +- dcmrt/libsrc/drtrrtps3.cc | 6 +- dcmrt/libsrc/drtrrtps4.cc | 6 +- dcmrt/libsrc/drtrrtps5.cc | 6 +- dcmrt/libsrc/drtrscs.cc | 112 +- dcmrt/libsrc/drtrsers.cc | 6 +- dcmrt/libsrc/drtrses.cc | 6 +- dcmrt/libsrc/drtrshs.cc | 6 +- dcmrt/libsrc/drtrshs6.cc | 6 +- dcmrt/libsrc/drtrshs7.cc | 6 +- dcmrt/libsrc/drtrsis.cc | 6 +- dcmrt/libsrc/drtrsns.cc | 6 +- dcmrt/libsrc/drtrsos.cc | 6 +- dcmrt/libsrc/drtrsrs.cc | 6 +- dcmrt/libsrc/drtrss.cc | 6 +- dcmrt/libsrc/drtrsss.cc | 6 +- dcmrt/libsrc/drtrsts.cc | 6 +- dcmrt/libsrc/drtrtrs2.cc | 6 +- dcmrt/libsrc/drtrtrs4.cc | 6 +- dcmrt/libsrc/drtrvis.cc | 6 +- dcmrt/libsrc/drtrws.cc | 6 +- dcmrt/libsrc/drtrwvms.cc | 15 +- dcmrt/libsrc/drtscris.cc | 6 +- dcmrt/libsrc/drtsdcs.cc | 112 +- dcmrt/libsrc/drtsds.cc | 6 +- dcmrt/libsrc/drtshds.cc | 6 +- dcmrt/libsrc/drtsis.cc | 6 +- dcmrt/libsrc/drtsns.cc | 6 +- dcmrt/libsrc/drtspccs.cc | 112 +- dcmrt/libsrc/drtspcs.cc | 112 +- dcmrt/libsrc/drtss.cc | 6 +- dcmrt/libsrc/drtssrs.cc | 6 +- dcmrt/libsrc/drtstrct.cc | 106 +- dcmrt/libsrc/drttms0.cc | 6 +- dcmrt/libsrc/drttms9.cc | 6 +- dcmrt/libsrc/drttreat.cc | 39 +- dcmrt/libsrc/drttscds.cc | 6 +- dcmrt/libsrc/drttsibs.cc | 6 +- dcmrt/libsrc/drttsmds.cc | 6 +- dcmrt/libsrc/drttts.cc | 6 +- dcmrt/libsrc/drtvls.cc | 6 +- dcmrt/libsrc/drtwps.cc | 6 +- dcmrt/libsrc/drtwrs.cc | 6 +- dcmrt/libsrc/drtwrsrs.cc | 544 ++++ dcmrt/libsrc/drtws.cc | 46 +- dcmrt/libsrc/drtxrs.cc | 6 +- dcmrt/tests/Makefile.dep | 47 +- dcmseg/CMakeLists.txt | 4 +- dcmseg/Makefile.in | 2 +- dcmseg/apps/CMakeLists.txt | 9 + dcmseg/include/dcmtk/dcmseg/segdoc.h | 99 +- dcmseg/include/dcmtk/dcmseg/segment.h | 44 +- dcmseg/include/dcmtk/dcmseg/segtypes.h | 12 +- dcmseg/include/dcmtk/dcmseg/segutils.h | 52 +- dcmseg/libsrc/Makefile.dep | 12 + dcmseg/libsrc/segdoc.cc | 256 +- dcmseg/libsrc/segment.cc | 59 +- dcmseg/libsrc/segtypes.cc | 17 +- dcmseg/libsrc/segutils.cc | 96 +- dcmseg/tests/CMakeLists.txt | 8 + dcmseg/tests/Makefile.dep | 166 + dcmseg/tests/Makefile.in | 43 +- dcmseg/tests/tests.cc | 26 + dcmseg/tests/tutils.cc | 65 + dcmsign/apps/Makefile.dep | 5 +- dcmsign/libsrc/Makefile.dep | 16 + dcmsr/apps/Makefile.dep | 40 +- dcmsr/apps/dsr2html.cc | 37 +- dcmsr/apps/dsr2xml.cc | 34 +- dcmsr/apps/dsrdump.cc | 5 +- dcmsr/docs/dcmsr.dox | 45 +- dcmsr/docs/dsr2html.man | 43 +- dcmsr/docs/dsr2xml.man | 43 +- dcmsr/docs/xml2dsr.man | 12 +- dcmsr/include/dcmtk/dcmsr/cmr/cid100.h | 15 +- dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h | 11 +- dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h | 11 +- dcmsr/include/dcmtk/dcmsr/cmr/cid11.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid244.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h | 11 +- dcmsr/include/dcmtk/dcmsr/cmr/cid29.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h | 11 +- dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h | 11 +- dcmsr/include/dcmtk/dcmsr/cmr/cid42.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h | 162 + dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h | 266 ++ dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h | 13 +- dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h | 180 ++ dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h | 434 +++ dcmsr/include/dcmtk/dcmsr/cmr/init.h | 6 +- dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h | 83 +- dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h | 319 ++ dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h | 12 +- dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h | 12 +- dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h | 325 ++ dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h | 290 ++ dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h | 219 +- dcmsr/include/dcmtk/dcmsr/codes/dcm.h | 8 +- dcmsr/include/dcmtk/dcmsr/codes/ncit.h | 53 + dcmsr/include/dcmtk/dcmsr/codes/srt.h | 16 +- dcmsr/include/dcmtk/dcmsr/codes/ucum.h | 14 +- dcmsr/include/dcmtk/dcmsr/codes/umls.h | 72 + dcmsr/include/dcmtk/dcmsr/dsdefine.h | 10 +- dcmsr/include/dcmtk/dcmsr/dsracqcc.h | 95 + dcmsr/include/dcmtk/dcmsr/dsrbascc.h | 12 +- dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h | 10 +- dcmsr/include/dcmtk/dcmsr/dsrchecc.h | 18 +- dcmsr/include/dcmtk/dcmsr/dsrcodvl.h | 43 +- dcmsr/include/dcmtk/dcmsr/dsrcolcc.h | 16 +- dcmsr/include/dcmtk/dcmsr/dsrcomcc.h | 12 +- dcmsr/include/dcmtk/dcmsr/dsrcomvl.h | 19 +- dcmsr/include/dcmtk/dcmsr/dsrctpl.h | 47 +- dcmsr/include/dcmtk/dcmsr/dsrctxgr.h | 14 +- dcmsr/include/dcmtk/dcmsr/dsrdoc.h | 49 +- dcmsr/include/dcmtk/dcmsr/dsrdocst.h | 189 +- dcmsr/include/dcmtk/dcmsr/dsrdoctn.h | 35 +- dcmsr/include/dcmtk/dcmsr/dsrdoctr.h | 32 +- dcmsr/include/dcmtk/dcmsr/dsrenhcc.h | 10 +- dcmsr/include/dcmtk/dcmsr/dsrimgvl.h | 49 +- dcmsr/include/dcmtk/dcmsr/dsrimpcc.h | 18 +- dcmsr/include/dcmtk/dcmsr/dsriodcc.h | 12 +- dcmsr/include/dcmtk/dcmsr/dsrkeycc.h | 18 +- dcmsr/include/dcmtk/dcmsr/dsrmaccc.h | 18 +- dcmsr/include/dcmtk/dcmsr/dsrmamcc.h | 19 +- dcmsr/include/dcmtk/dcmsr/dsrnumvl.h | 60 +- dcmsr/include/dcmtk/dcmsr/dsrposcn.h | 152 + dcmsr/include/dcmtk/dcmsr/dsrprocc.h | 18 +- dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h | 14 +- dcmsr/include/dcmtk/dcmsr/dsrrtpl.h | 27 +- dcmsr/include/dcmtk/dcmsr/dsrscovl.h | 4 +- dcmsr/include/dcmtk/dcmsr/dsrsoprf.h | 11 +- dcmsr/include/dcmtk/dcmsr/dsrspecc.h | 18 +- dcmsr/include/dcmtk/dcmsr/dsrstpl.h | 27 +- dcmsr/include/dcmtk/dcmsr/dsrtncsr.h | 194 +- dcmsr/include/dcmtk/dcmsr/dsrtpltn.h | 248 ++ dcmsr/include/dcmtk/dcmsr/dsrtree.h | 118 +- dcmsr/include/dcmtk/dcmsr/dsrtypes.h | 37 +- dcmsr/include/dcmtk/dcmsr/dsrwavvl.h | 8 +- dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h | 20 +- dcmsr/libcmr/CMakeLists.txt | 2 +- dcmsr/libcmr/Makefile.dep | 967 +++++- dcmsr/libcmr/Makefile.in | 7 +- dcmsr/libcmr/cid100.cc | 6 +- dcmsr/libcmr/cid10013.cc | 4 +- dcmsr/libcmr/cid10033.cc | 4 +- dcmsr/libcmr/cid11.cc | 4 +- dcmsr/libcmr/cid244.cc | 4 +- dcmsr/libcmr/cid29.cc | 4 +- dcmsr/libcmr/cid4020.cc | 4 +- dcmsr/libcmr/cid4021.cc | 4 +- dcmsr/libcmr/cid4031.cc | 4 +- dcmsr/libcmr/cid42.cc | 4 +- dcmsr/libcmr/cid6147.cc | 165 + dcmsr/libcmr/cid7021.cc | 4 +- dcmsr/libcmr/cid7181.cc | 217 ++ dcmsr/libcmr/cid7445.cc | 4 +- dcmsr/libcmr/cid7452.cc | 4 +- dcmsr/libcmr/cid7453.cc | 4 +- dcmsr/libcmr/cid7464.cc | 174 ++ dcmsr/libcmr/cid7469.cc | 301 ++ dcmsr/libcmr/init.cc | 14 +- dcmsr/libcmr/srnumvl.cc | 49 +- dcmsr/libcmr/tid1001.cc | 64 +- dcmsr/libcmr/tid1204.cc | 20 +- dcmsr/libcmr/tid1411.cc | 603 ++++ dcmsr/libcmr/tid1500.cc | 373 +++ dcmsr/libcmr/tid1600.cc | 593 +++- dcmsr/libsrc/CMakeLists.txt | 2 +- dcmsr/libsrc/Makefile.dep | 594 +++- dcmsr/libsrc/Makefile.in | 8 +- dcmsr/libsrc/dsracqcc.cc | 109 + dcmsr/libsrc/dsrbascc.cc | 11 +- dcmsr/libsrc/dsrc3dcc.cc | 9 +- dcmsr/libsrc/dsrchecc.cc | 9 +- dcmsr/libsrc/dsrcodvl.cc | 40 +- dcmsr/libsrc/dsrcolcc.cc | 9 +- dcmsr/libsrc/dsrcomcc.cc | 13 +- dcmsr/libsrc/dsrcomvl.cc | 15 +- dcmsr/libsrc/dsrcsidl.cc | 8 +- dcmsr/libsrc/dsrctpl.cc | 64 +- dcmsr/libsrc/dsrctxgr.cc | 8 +- dcmsr/libsrc/dsrdoc.cc | 57 +- dcmsr/libsrc/dsrdocst.cc | 602 +++- dcmsr/libsrc/dsrdoctn.cc | 394 +-- dcmsr/libsrc/dsrdoctr.cc | 157 +- dcmsr/libsrc/dsrenhcc.cc | 11 +- dcmsr/libsrc/dsrimgfr.cc | 11 +- dcmsr/libsrc/dsrimgse.cc | 11 +- dcmsr/libsrc/dsrimgvl.cc | 40 +- dcmsr/libsrc/dsrimpcc.cc | 11 +- dcmsr/libsrc/dsrkeycc.cc | 9 +- dcmsr/libsrc/dsrmaccc.cc | 9 +- dcmsr/libsrc/dsrmamcc.cc | 9 +- dcmsr/libsrc/dsrnumvl.cc | 51 +- dcmsr/libsrc/dsrposcn.cc | 122 + dcmsr/libsrc/dsrprocc.cc | 11 +- dcmsr/libsrc/dsrrrdcc.cc | 7 +- dcmsr/libsrc/dsrrtpl.cc | 4 +- dcmsr/libsrc/dsrsc3gr.cc | 11 +- dcmsr/libsrc/dsrsc3vl.cc | 24 +- dcmsr/libsrc/dsrscogr.cc | 11 +- dcmsr/libsrc/dsrscovl.cc | 20 +- dcmsr/libsrc/dsrsoprf.cc | 15 + dcmsr/libsrc/dsrspecc.cc | 9 +- dcmsr/libsrc/dsrstpl.cc | 2 + dcmsr/libsrc/dsrtcodt.cc | 11 +- dcmsr/libsrc/dsrtcosp.cc | 11 +- dcmsr/libsrc/dsrtcoto.cc | 10 +- dcmsr/libsrc/dsrtcovl.cc | 14 +- dcmsr/libsrc/dsrtncsr.cc | 29 - dcmsr/libsrc/dsrtpltn.cc | 237 ++ dcmsr/libsrc/dsrtypes.cc | 98 +- dcmsr/libsrc/dsrwavch.cc | 11 +- dcmsr/libsrc/dsrwavvl.cc | 4 +- dcmsr/libsrc/dsrxrdcc.cc | 11 +- dcmsr/tests/Makefile.dep | 107 +- dcmsr/tests/mkreport.cc | 4 +- dcmsr/tests/tests.cc | 14 +- dcmsr/tests/tsrcmr.cc | 273 +- dcmsr/tests/tsrcodvl.cc | 26 +- dcmsr/tests/tsrdoc.cc | 4 +- dcmsr/tests/tsrdoctr.cc | 15 +- dcmsr/tests/tsrnumvl.cc | 22 +- dcmsr/tests/tsrtpl.cc | 188 +- dcmsr/tests/tsrtree.cc | 67 +- dcmtls/libsrc/Makefile.dep | 33 +- dcmtls/libsrc/tlstrans.cc | 5 + dcmwlm/apps/Makefile.dep | 4 + dcmwlm/libsrc/Makefile.dep | 9 + dcmwlm/tests/Makefile.dep | 2 + docs/CHANGES.361 | 2775 ++++++++++++++++- doxygen/htmldocs.cfg | 2 +- doxygen/manpages.cfg | 2 +- doxygen/manpages/man1/dcm2pdf.1 | 2 +- doxygen/manpages/man1/dcm2pnm.1 | 2 +- doxygen/manpages/man1/dcm2xml.1 | 8 +- doxygen/manpages/man1/dcmcjpeg.1 | 2 +- doxygen/manpages/man1/dcmcjpls.1 | 2 +- doxygen/manpages/man1/dcmconv.1 | 2 +- doxygen/manpages/man1/dcmcrle.1 | 2 +- doxygen/manpages/man1/dcmdjpeg.1 | 2 +- doxygen/manpages/man1/dcmdjpls.1 | 2 +- doxygen/manpages/man1/dcmdrle.1 | 2 +- doxygen/manpages/man1/dcmdspfn.1 | 2 +- doxygen/manpages/man1/dcmdump.1 | 2 +- doxygen/manpages/man1/dcmftest.1 | 2 +- doxygen/manpages/man1/dcmgpdir.1 | 2 +- doxygen/manpages/man1/dcmj2pnm.1 | 2 +- doxygen/manpages/man1/dcml2pnm.1 | 2 +- doxygen/manpages/man1/dcmmkcrv.1 | 2 +- doxygen/manpages/man1/dcmmkdir.1 | 22 +- doxygen/manpages/man1/dcmmklut.1 | 2 +- doxygen/manpages/man1/dcmodify.1 | 2 +- doxygen/manpages/man1/dcmp2pgm.1 | 2 +- doxygen/manpages/man1/dcmprscp.1 | 2 +- doxygen/manpages/man1/dcmprscu.1 | 2 +- doxygen/manpages/man1/dcmpschk.1 | 2 +- doxygen/manpages/man1/dcmpsmk.1 | 2 +- doxygen/manpages/man1/dcmpsprt.1 | 2 +- doxygen/manpages/man1/dcmpsrcv.1 | 2 +- doxygen/manpages/man1/dcmpssnd.1 | 2 +- doxygen/manpages/man1/dcmqridx.1 | 2 +- doxygen/manpages/man1/dcmqrscp.1 | 7 +- doxygen/manpages/man1/dcmqrti.1 | 2 +- doxygen/manpages/man1/dcmquant.1 | 2 +- doxygen/manpages/man1/dcmrecv.1 | 2 +- doxygen/manpages/man1/dcmscale.1 | 2 +- doxygen/manpages/man1/dcmsend.1 | 2 +- doxygen/manpages/man1/dcmsign.1 | 2 +- doxygen/manpages/man1/dcod2lum.1 | 2 +- doxygen/manpages/man1/dconvlum.1 | 2 +- doxygen/manpages/man1/drtdump.1 | 2 +- doxygen/manpages/man1/dsr2html.1 | 38 +- doxygen/manpages/man1/dsr2xml.1 | 38 +- doxygen/manpages/man1/dsrdump.1 | 2 +- doxygen/manpages/man1/dump2dcm.1 | 8 +- doxygen/manpages/man1/echoscu.1 | 2 +- doxygen/manpages/man1/findscu.1 | 2 +- doxygen/manpages/man1/getscu.1 | 2 +- doxygen/manpages/man1/img2dcm.1 | 2 +- doxygen/manpages/man1/movescu.1 | 2 +- doxygen/manpages/man1/pdf2dcm.1 | 2 +- doxygen/manpages/man1/storescp.1 | 7 +- doxygen/manpages/man1/storescu.1 | 2 +- doxygen/manpages/man1/termscu.1 | 2 +- doxygen/manpages/man1/wlmscpfs.1 | 2 +- doxygen/manpages/man1/xml2dcm.1 | 2 +- doxygen/manpages/man1/xml2dsr.1 | 12 +- oflog/libsrc/Makefile.dep | 4 + ofstd/include/dcmtk/ofstd/ofchrenc.h | 16 +- ofstd/include/dcmtk/ofstd/ofcmdln.h | 195 +- ofstd/include/dcmtk/ofstd/offile.h | 6 +- ofstd/include/dcmtk/ofstd/ofmath.h | 89 + ofstd/include/dcmtk/ofstd/ofstack.h | 77 +- ofstd/include/dcmtk/ofstd/ofstd.h | 108 +- ofstd/include/dcmtk/ofstd/oftempf.h | 4 +- ofstd/libsrc/Makefile.dep | 55 +- ofstd/libsrc/ofchrenc.cc | 25 +- ofstd/libsrc/ofcmdln.cc | 4 +- ofstd/libsrc/offile.cc | 6 +- ofstd/libsrc/ofmath.cc | 11 +- ofstd/libsrc/ofstd.cc | 9 +- ofstd/libsrc/ofuuid.cc | 12 +- ofstd/libsrc/ofxml.cc | 8 +- ofstd/tests/Makefile.dep | 95 +- ofstd/tests/taddsub.cc | 63 + ofstd/tests/tests.cc | 1 + ofstd/tests/tlimits.cc | 9 +- ofstd/tests/tofstd.cc | 37 + 871 files changed, 35990 insertions(+), 4715 deletions(-) create mode 100644 dcmdata/include/dcmtk/dcmdata/dcvrol.h create mode 100644 dcmdata/libsrc/dcvrol.cc create mode 100644 dcmdata/tests/tvrol.cc create mode 100755 dcmiod/include/dcmtk/dcmiod/cielabutil.h create mode 100755 dcmiod/libsrc/cielabutil.cc create mode 100644 dcmiod/tests/CMakeLists.txt create mode 100644 dcmiod/tests/Makefile.dep create mode 100644 dcmiod/tests/tcielabutil.cc create mode 100644 dcmiod/tests/tests.cc create mode 100644 dcmrt/include/dcmtk/dcmrt/seq/drtbss.h create mode 100644 dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h create mode 100644 dcmrt/include/dcmtk/dcmrt/seq/drtdias.h create mode 100644 dcmrt/include/dcmtk/dcmrt/seq/drtecs.h create mode 100644 dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h create mode 100644 dcmrt/include/dcmtk/dcmrt/seq/drtqds.h create mode 100644 dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h create mode 100644 dcmrt/libsrc/drtbss.cc create mode 100644 dcmrt/libsrc/drtcpis.cc create mode 100644 dcmrt/libsrc/drtdias.cc create mode 100644 dcmrt/libsrc/drtecs.cc create mode 100644 dcmrt/libsrc/drtpdecs.cc create mode 100644 dcmrt/libsrc/drtqds.cc create mode 100644 dcmrt/libsrc/drtwrsrs.cc create mode 100644 dcmseg/apps/CMakeLists.txt create mode 100644 dcmseg/tests/CMakeLists.txt create mode 100644 dcmseg/tests/Makefile.dep create mode 100644 dcmseg/tests/tests.cc create mode 100644 dcmseg/tests/tutils.cc create mode 100644 dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h create mode 100644 dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h create mode 100644 dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h create mode 100644 dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h create mode 100644 dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h create mode 100644 dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h create mode 100644 dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h create mode 100644 dcmsr/include/dcmtk/dcmsr/codes/ncit.h create mode 100644 dcmsr/include/dcmtk/dcmsr/codes/umls.h create mode 100644 dcmsr/include/dcmtk/dcmsr/dsracqcc.h create mode 100644 dcmsr/include/dcmtk/dcmsr/dsrposcn.h create mode 100644 dcmsr/include/dcmtk/dcmsr/dsrtpltn.h create mode 100644 dcmsr/libcmr/cid6147.cc create mode 100644 dcmsr/libcmr/cid7181.cc create mode 100644 dcmsr/libcmr/cid7464.cc create mode 100644 dcmsr/libcmr/cid7469.cc create mode 100644 dcmsr/libcmr/tid1411.cc create mode 100644 dcmsr/libcmr/tid1500.cc create mode 100644 dcmsr/libsrc/dsracqcc.cc create mode 100644 dcmsr/libsrc/dsrposcn.cc delete mode 100644 dcmsr/libsrc/dsrtncsr.cc create mode 100644 dcmsr/libsrc/dsrtpltn.cc create mode 100644 ofstd/include/dcmtk/ofstd/ofmath.h create mode 100644 ofstd/tests/taddsub.cc diff --git a/CMake/dcmtkPrepare.cmake b/CMake/dcmtkPrepare.cmake index 54ebdb58..2ddd7b2b 100644 --- a/CMake/dcmtkPrepare.cmake +++ b/CMake/dcmtkPrepare.cmake @@ -9,9 +9,9 @@ SET(DCMTK_CONFIGURATION_DONE true) # Minimum CMake version required CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.1.1) - SET(CMAKE_BACKWARDS_COMPATIBILITY 3.1.1 CACHE STRING "Latest version of CMake when this project was released." FORCE) -ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.1.1) +IF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.3.2) + SET(CMAKE_BACKWARDS_COMPATIBILITY 3.3.2 CACHE STRING "Latest version of CMake when this project was released." FORCE) +ENDIF(CMAKE_BACKWARDS_COMPATIBILITY GREATER 3.3.2) # CMAKE_BUILD_TYPE is set to value "Release" if none is specified by the # selected build file generator. For those generators that support multiple @@ -42,7 +42,7 @@ SET(DCMTK_MINOR_VERSION 6) SET(DCMTK_BUILD_VERSION 1) # The ABI is not guaranteed to be stable between different snapshots/releases, # so this particular version number is increased for each snapshot or release. -SET(DCMTK_ABI_VERSION 7) +SET(DCMTK_ABI_VERSION 8) # Package "release" settings (some are currently unused and, therefore, disabled) SET(DCMTK_PACKAGE_NAME "dcmtk") @@ -212,7 +212,7 @@ IF(COMMAND CMAKE_POLICY) ENDIF(COMMAND CMAKE_POLICY) # pass optional build date to compiler -ADD_DEFINITIONS(-DDCMTK_BUILD_DATE=\\\"2015-09-24\\\") +ADD_DEFINITIONS(-DDCMTK_BUILD_DATE=\\\"2016-02-16\\\") # make OFString(NULL) safe by default ADD_DEFINITIONS(-DUSE_NULL_SAFE_OFSTRING) diff --git a/CMake/osconfig.h.in b/CMake/osconfig.h.in index 2b6325d8..a68bd743 100644 --- a/CMake/osconfig.h.in +++ b/CMake/osconfig.h.in @@ -1024,6 +1024,11 @@ typedef unsigned long ulong; #pragma warning( disable : 4996 ) /* disable warnings about "deprecated" C runtime functions */ #pragma warning( disable : 4351 ) /* disable warnings about "new behavior" when initializing the elements of an array */ #endif /* _MSC_VER >= 1400 */ +/* Disable min() and max() macros pre-defined by Microsoft. We define our own + * version in oflimits.h and on Windows that could result in name clashes in + * Visual Studio. + */ +#define NOMINMAX #endif /* _MSC_VER */ /* Define if your system defines ios::nocreate in iostream.h */ diff --git a/CMakeLists.txt b/CMakeLists.txt index c3234255..3a4c596e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,6 +59,7 @@ INCLUDE(CMake/dcmtkAfterModules.cmake NO_POLICY_SCOPE) # Install global headers INSTALL(FILES ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/osconfig.h + ${DCMTK_BINARY_DIR}/config/include/dcmtk/config/arith.h DESTINATION ${DCMTK_INSTALL_INCDIR}/dcmtk/config COMPONENT include) diff --git a/COPYRIGHT b/COPYRIGHT index 86ac1d2c..de2a236d 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -5,7 +5,7 @@ Unless otherwise specified, the DCMTK software package has the following copyright: /* - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. * * This software and supporting documentation were developed by @@ -478,7 +478,7 @@ The dcmrt sub-package is covered by the following copyright: --------------------------------------------------------------------------- Copyright (c) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany -Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany +Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany All rights reserved. Redistribution and use in source and binary forms, with or without @@ -511,7 +511,7 @@ Parts of the dcmsr sub-package are covered by the following copyright: --------------------------------------------------------------------------- -Copyright (c) 2015, J. Riesmeier, Oldenburg, Germany +Copyright (c) 2015-2016, J. Riesmeier, Oldenburg, Germany All rights reserved. Redistribution and use in source and binary forms, with or without @@ -579,3 +579,37 @@ covered by the following copyright: # POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------- + +The cielabutil source code (class IODCLabUtil) is adapted from Pascal Getreuer's +package for converting color representations + + http://www.getreuer.info/home/colorspace + +which comes with the following original copyright: + +--------------------------------------------------------------------------- + +Copyright © 2005–2010, Pascal Getreuer +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--------------------------------------------------------------------------- diff --git a/VERSION b/VERSION index 3ed5517e..1413f368 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.6.1_20150924 +3.6.1_20160216 diff --git a/config/Makefile.def.in b/config/Makefile.def.in index a6ba698a..a60168c0 100644 --- a/config/Makefile.def.in +++ b/config/Makefile.def.in @@ -52,7 +52,7 @@ DEBUG = @DEBUG@ # # We want the old behavior of OFString(NULL) for now, no crashes. -GLOBALDEFS = @DEFS@ -DDCMTK_BUILD_DATE=\"2015-09-24\" -DUSE_NULL_SAFE_OFSTRING -DDCMTK_BUILD_IN_PROGRESS +GLOBALDEFS = @DEFS@ -DDCMTK_BUILD_DATE=\"2016-02-16\" -DUSE_NULL_SAFE_OFSTRING -DDCMTK_BUILD_IN_PROGRESS # # ARCH defines special machine archtecture compiler settings diff --git a/config/Makefile.in b/config/Makefile.in index 9bd8f39e..429aa042 100644 --- a/config/Makefile.in +++ b/config/Makefile.in @@ -41,6 +41,7 @@ check-exhaustive: tests-all include-install: ./mkinstalldirs $(DESTDIR)$(includedir)/dcmtk/config $(INSTALL_DATA) include/dcmtk/config/osconfig.h $(DESTDIR)$(includedir)/dcmtk/config + $(INSTALL_DATA) include/dcmtk/config/arith.h $(DESTDIR)$(includedir)/dcmtk/config docs-install: ./mkinstalldirs $(DESTDIR)$(docdir) diff --git a/config/arith.cc b/config/arith.cc index 54c6bfe0..948766d5 100644 --- a/config/arith.cc +++ b/config/arith.cc @@ -207,7 +207,7 @@ static int test_inf( STD_NAMESPACE ostream& out, const char* name ) const int has_inf = print_flag ( out, - OFStandard::isinf(t), + OFMath::isinf(t), "HAS_INFINITY", name, 7 @@ -236,7 +236,7 @@ static int test_qnan( STD_NAMESPACE ostream& out, const char* name ) const int has_qnan = print_flag ( out, - OFStandard::isnan( t ), + OFMath::isnan( t ), "HAS_QUIET_NAN", name, 7 @@ -336,7 +336,7 @@ static int test_snan( STD_NAMESPACE ostream& out, const char* name ) { // Create signaling NaNs and test if they really are signaling NaNs const T& t = guess::snan(); - int flag = OFStandard::isnan( t ) && test_trap( &provoke_snan ); + int flag = OFMath::isnan( t ) && test_trap( &provoke_snan ); // Disable floating point exceptions that have been enabled for the test, // Windows and Unix version. #ifdef HAVE_WINDOWS_H diff --git a/config/configure b/config/configure index a5d0bd5a..158cc871 100755 --- a/config/configure +++ b/config/configure @@ -13620,6 +13620,9 @@ if test "${enable_builtin_dict+set}" = set; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } DCMTK_ENABLE_BUILTIN_DICTIONARY=true + +$as_echo "#define ENABLE_BUILTIN_DICTIONARY /**/" >>confdefs.h + ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -14948,7 +14951,7 @@ $as_echo "#define HAVE_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE 1" >>confdefs.h $as_echo "no" >&6; } fi -o + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct pwd contains the field pw_gecos" >&5 $as_echo_n "checking whether struct pwd contains the field pw_gecos... " >&6; } diff --git a/config/configure.in b/config/configure.in index 84665ab6..d2c9c161 100644 --- a/config/configure.in +++ b/config/configure.in @@ -957,7 +957,7 @@ AC_ARG_ENABLE(builtin-dict, dnl including the populated dictionary object and not the dnl empty dummy dictionary in dcmdata DCMTK_ENABLE_BUILTIN_DICTIONARY=true - AC_DEFINE(ENABLE_BUILTIN_DICTIONARY, , [Define if we are compiling for loading external dictionary from default path.]) + AC_DEFINE(ENABLE_BUILTIN_DICTIONARY, , [Define if we are compiling with built-in (compiled-in) dictionary enabled.]) ;; *) AC_MSG_RESULT(no) @@ -1312,7 +1312,7 @@ AC_CHECK_ATTRIBUTE_ALIGNED([HAVE_ATTRIBUTE_ALIGNED]) AC_CHECK_ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES([ATTRIBUTE_ALIGNED_SUPPORTS_TEMPLATES]) AC_CHECK_ALIGNAS_SUPPORTS_TYPEDEFS([ALIGNAS_SUPPORTS_TYPEDEFS]) AC_CHECK_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE([HAVE_DEFAULT_CONSTRUCTOR_DETECTION_VIA_SFINAE]) -o + dnl ------------------------------------------------------- dnl Test if passwd has the pw_gecos field dnl ------------------------------------------------------- diff --git a/config/docs/macros.txt b/config/docs/macros.txt index 02090de5..bad84b11 100644 --- a/config/docs/macros.txt +++ b/config/docs/macros.txt @@ -164,7 +164,7 @@ DOXYGEN ENABLE_BUILTIN_DICTIONARY Affected: dcmdata - Type of modification: Enables or disables population of builtin dictionary + Type of modification: Activates feature Explanation: If enabled, DCMTK's global builtin dictionary, that is always loaded on startup, is populated with known DICOM tags. Otherwise, the builtin dictionary stays empty. For more further information about diff --git a/config/include/dcmtk/config/osconfig.h.in b/config/include/dcmtk/config/osconfig.h.in index 0b7399b2..bc3aeb6f 100644 --- a/config/include/dcmtk/config/osconfig.h.in +++ b/config/include/dcmtk/config/osconfig.h.in @@ -58,13 +58,14 @@ /* Define the default directory where support data files reside. */ #undef DEFAULT_SUPPORT_DATA_DIR +/* Define if we are compiling with built-in (compiled-in) dictionary enabled. + */ +#undef ENABLE_BUILTIN_DICTIONARY + /* Define if we are compiling for loading external dictionary from default path. */ #undef ENABLE_EXTERNAL_DICTIONARY -/* Define if we are compiling with built-in dictionary */ -#undef ENABLE_BUILTIN_DICTIONARY - /* Define if we are compiling for enabling external private tag dictionary. */ #undef ENABLE_PRIVATE_TAGS diff --git a/dcmdata/apps/Makefile.dep b/dcmdata/apps/Makefile.dep index b2818e50..6f89b65c 100644 --- a/dcmdata/apps/Makefile.dep +++ b/dcmdata/apps/Makefile.dep @@ -38,6 +38,8 @@ dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -76,7 +78,8 @@ dcm2pdf.o: dcm2pdf.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcistrmz.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcistrmz.h dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -117,6 +120,8 @@ dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -155,7 +160,7 @@ dcm2xml.o: dcm2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -197,6 +202,8 @@ dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -235,8 +242,8 @@ dcmconv.o: dcmconv.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcostrmz.h \ - ../include/dcmtk/dcmdata/dcistrmz.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcistrmz.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -278,6 +285,8 @@ dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -316,7 +325,8 @@ dcmcrle.o: dcmcrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcrleerg.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcrleerg.h dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ @@ -357,6 +367,8 @@ dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -395,7 +407,8 @@ dcmdrle.o: dcmdrle.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcrledrg.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcrledrg.h dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ @@ -436,6 +449,8 @@ dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -474,7 +489,8 @@ dcmdump.o: dcmdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcistrmz.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcistrmz.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h dcmftest.o: dcmftest.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -490,6 +506,8 @@ dcmftest.o: dcmftest.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -564,6 +582,8 @@ dcmgpdir.o: dcmgpdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -602,7 +622,8 @@ dcmgpdir.o: dcmgpdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcddirif.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcddirif.h dcmodify.o: dcmodify.cc ../../config/include/dcmtk/config/osconfig.h \ mdfconen.h ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -643,6 +664,8 @@ dcmodify.o: dcmodify.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcdatset.h \ @@ -662,6 +685,8 @@ dump2dcm.o: dump2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -728,8 +753,8 @@ dump2dcm.o: dump2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \ - ../include/dcmtk/dcmdata/dcostrmz.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcostrmz.h img2dcm.o: img2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -748,6 +773,8 @@ img2dcm.o: img2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcfilefo.h \ ../include/dcmtk/dcmdata/dcsequen.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ @@ -832,6 +859,8 @@ mdfconen.o: mdfconen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h mdfdsman.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dctk.h \ @@ -870,7 +899,8 @@ mdfconen.o: mdfconen.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcistrmz.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcistrmz.h mdfdsman.o: mdfdsman.cc ../../config/include/dcmtk/config/osconfig.h \ mdfdsman.h ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -912,6 +942,8 @@ mdfdsman.o: mdfdsman.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dcswap.h \ @@ -949,8 +981,8 @@ mdfdsman.o: mdfdsman.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpath.h \ - ../include/dcmtk/dcmdata/dcistrmf.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcpath.h ../include/dcmtk/dcmdata/dcistrmf.h pdf2dcm.o: pdf2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ @@ -991,6 +1023,8 @@ pdf2dcm.o: pdf2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -1029,7 +1063,8 @@ pdf2dcm.o: pdf2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dccodec.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dccodec.h xml2dcm.o: xml2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctk.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -1070,6 +1105,8 @@ xml2dcm.o: xml2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcswap.h \ ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ @@ -1108,5 +1145,5 @@ xml2dcm.o: xml2dcm.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \ - ../include/dcmtk/dcmdata/dcostrmz.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcostrmz.h diff --git a/dcmdata/apps/dcm2xml.cc b/dcmdata/apps/dcm2xml.cc index 171e254d..66aa23cd 100644 --- a/dcmdata/apps/dcm2xml.cc +++ b/dcmdata/apps/dcm2xml.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2015, OFFIS e.V. + * Copyright (C) 2002-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -111,9 +111,9 @@ static OFCondition writeFile(STD_NAMESPACE ostream &out, { /* the dataset contains non-ASCII characters that really should not be there */ OFLOG_ERROR(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": SpecificCharacterSet (0008,0005) " - << "element absent (on the main dataset level) but extended characters used in file: " << ifname); + << "element absent (on the main data set level) but extended characters used in file: " << ifname); OFLOG_DEBUG(dcm2xmlLogger, "use option --charset-assume to manually specify an appropriate character set"); - return EC_IllegalCall; + return makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Missing Specific Character Set");; } else { OFString sopClass; csetString = defaultCharset; @@ -141,7 +141,7 @@ static OFCondition writeFile(STD_NAMESPACE ostream &out, else { OFLOG_FATAL(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": Character set '" << defaultCharset << "' specified with option --charset-assume not supported"); - return EC_IllegalCall; + return makeOFCondition(OFM_dcmdata, EC_CODE_CannotSelectCharacterSet, OF_error, "Cannot select character set"); } /* check whether this file is a DICOMDIR */ if (dfile->getMetaInfo()->findAndGetOFString(DCM_MediaStorageSOPClassUID, sopClass).bad() || @@ -158,7 +158,7 @@ static OFCondition writeFile(STD_NAMESPACE ostream &out, { /* use "debug" instead of "warn" in order to avoid too much output in default mode */ OFLOG_DEBUG(dcm2xmlLogger, "ignoring character set '" << defaultCharset - << "' specified with option --charset-assume since it is not needed for this dataset"); + << "' specified with option --charset-assume since it is not needed for this data set"); } /* by default, we use UTF-8 encoding */ encString = "UTF-8"; @@ -267,7 +267,7 @@ int main(int argc, char *argv[]) cmd.addOption("--charset-require", "+Cr", "require declaration of extended charset (def.)"); cmd.addOption("--charset-assume", "+Ca", 1, "[c]harset: string", "assume charset c if no extended charset declared"); - cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST and UT)"); + cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST, UC and UT)"); #ifdef WITH_LIBICONV cmd.addOption("--convert-to-utf8", "+U8", "convert all element values that are affected\nby Specific Character Set (0008,0005) to UTF-8"); #endif @@ -547,16 +547,24 @@ int main(int argc, char *argv[]) if (stream.good()) { /* write content in XML format to file */ - if (writeFile(stream, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename, - opt_defaultCharset, opt_writeFlags, opt_checkAllStrings).bad()) + status = writeFile(stream, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename, + opt_defaultCharset, opt_writeFlags, opt_checkAllStrings); + if (status.bad()) + { + OFLOG_ERROR(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": error (" << status.text() << ") writing file: "<< ofname); result = 2; + } } else result = 1; } else { /* write content in XML format to standard output */ - if (writeFile(COUT, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename, - opt_defaultCharset, opt_writeFlags, opt_checkAllStrings).bad()) + status = writeFile(COUT, ifname, &dfile, opt_readMode, opt_loadIntoMemory, opt_dtdFilename, + opt_defaultCharset, opt_writeFlags, opt_checkAllStrings); + if (status.bad()) + { + OFLOG_ERROR(dcm2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": error (" << status.text() << ") writing to standard output"); result = 3; + } } } } else { diff --git a/dcmdata/apps/dcmdump.cc b/dcmdata/apps/dcmdump.cc index 1c121724..a4074171 100644 --- a/dcmdata/apps/dcmdump.cc +++ b/dcmdata/apps/dcmdump.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -759,6 +759,9 @@ static int dumpFile(STD_NAMESPACE ostream &out, if (stopOnErrors) return result; } } +#else + // avoid compiler warning on unused variable + (void)convertToUTF8; #endif size_t pixelCounter = 0; diff --git a/dcmdata/apps/dcmgpdir.cc b/dcmdata/apps/dcmgpdir.cc index 40cba12a..f1d36cec 100644 --- a/dcmdata/apps/dcmgpdir.cc +++ b/dcmdata/apps/dcmgpdir.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,6 +29,9 @@ * - General Purpose BD Interchange with MPEG2 MP@HL (STD-GEN-BD-MPEG2-MPHL) * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41) * - General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D) + * - General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42) * - General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG) * - General Purpose USB and Flash Memory Interchange with JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K) * - General Purpose MIME Interchange (STD-GEN-MIME) @@ -198,6 +201,9 @@ DCMTK_MAIN_FUNCTION cmd.addOption("--general-bd-mpeg2-mphl", "-Pbh", "General Purpose BD Interchange with MPEG2\nMP@HL (STD-GEN-BD-MPEG2-MPHL)"); cmd.addOption("--general-bd-mpeg4-hp", "-Pba", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41)"); cmd.addOption("--general-bd-mpeg4-hpbd", "-Pbb", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 BD-Compatible HiP@Level4.1\n(STD-GEN-BD-MPEG4-HPLV41BD)"); + cmd.addOption("--general-bd-mpeg4-hp2d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 2D video\n(STD-GEN-BD-MPEG4-HPLV42-2D)"); + cmd.addOption("--general-bd-mpeg4-hp3d", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 HiP@Level4.2 for 3D video\n(STD-GEN-BD-MPEG4-HPLV42-3D)"); + cmd.addOption("--general-bd-mpeg4-hpst", "General Purpose BD Interchange with MPEG-4\nAVC/H.264 Stereo HiP@Level4.2\n(STD-GEN-BD-MPEG4-SHPLV42)"); cmd.addOption("--usb-and-flash-jpeg", "-Pfl", "General Purpose USB/Flash Memory Interchange\nwith JPEG (STD-GEN-USB/MMC/CF/SD-JPEG)"); cmd.addOption("--usb-and-flash-j2k", "-Pf2", "General Purpose USB/Flash Memory Interchange\nwith JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K)"); cmd.addOption("--general-mime", "-Pmi", "General Purpose MIME Interchange\n(STD-GEN-MIME)"); @@ -380,6 +386,12 @@ DCMTK_MAIN_FUNCTION opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41; if (cmd.findOption("--general-bd-mpeg4-hpbd")) opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV41BD; + if (cmd.findOption("--general-bd-mpeg4-hp2d")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_2D; + if (cmd.findOption("--general-bd-mpeg4-hp3d")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4HPatLV42_3D; + if (cmd.findOption("--general-bd-mpeg4-hpst")) + opt_profile = DicomDirInterface::AP_GeneralPurposeBDMPEG4StereoHPatLV42; if (cmd.findOption("--usb-and-flash-jpeg")) opt_profile = DicomDirInterface::AP_USBandFlashJPEG; if (cmd.findOption("--usb-and-flash-j2k")) diff --git a/dcmdata/apps/dump2dcm.cc b/dcmdata/apps/dump2dcm.cc index 16408088..5a212cf3 100644 --- a/dcmdata/apps/dump2dcm.cc +++ b/dcmdata/apps/dump2dcm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,8 +34,8 @@ * two characters. If the VR can determined from the tag, this part * of a line is optional. * Value: There are several rules for writing values: - * 1. US, SS, SL, UL, FD, FL are written as decimal strings that can - * be read by scanf(). + * 1. US, SS, SL, UL, FD, FL, OD, OF and OL are written as decimal + * strings that can be read by scanf(). * 2. AT is written as '(gggg,eeee)' with additional spaces stripped * off automatically and gggg and eeee being decimal strings that * can be read by scanf(). diff --git a/dcmdata/apps/mdfdsman.h b/dcmdata/apps/mdfdsman.h index 7c5214fc..4303402c 100644 --- a/dcmdata/apps/mdfdsman.h +++ b/dcmdata/apps/mdfdsman.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2010, OFFIS e.V. + * Copyright (C) 2003-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -36,7 +36,7 @@ class DcmElement; /** This class encapsulates data structures and operations for modifying - * Dicom files. Therefore it allows the process of load->modify->save to + * DICOM files. Therefore it allows the process of load->modify->save to * provide this service. */ class MdfDatasetManager @@ -56,7 +56,7 @@ public: @param readMode read file with or without metaheader. Default=autodetect @param xfer try to read with this transfer syntax. Default=autodetect @param createIfNecessary If true, the file is created if it does not exist - * @return returns EC_normal if everything is ok, else an error + * @return returns EC_Normal if everything is OK, else an error */ OFCondition loadFile(const char *file_name, const E_FileReadMode readMode = ERM_autoDetect, @@ -76,7 +76,7 @@ public: * @param no_reservation_checks if true, any missing private reservation * tags are ignored when inserting private * tags. Only makes sense w/o only_modify - * @return returns EC_normal if everything is ok, else an error + * @return returns EC_Normal if everything is OK, else an error */ OFCondition modifyOrInsertPath(OFString tag_path, const OFString &value, @@ -98,7 +98,7 @@ public: * @param no_reservation_checks if true, any missing private reservation * tags are ignored when inserting private * tags. Only makes sense w/o only_modify - * @return returns EC_normal if everything is ok, else an error + * @return returns EC_Normal if everything is OK, else an error */ OFCondition modifyOrInsertFromFile(OFString tag_path, const OFString &filename, @@ -110,13 +110,13 @@ public: /** Modifies all matching tags in dataset to a new value * @param tag_path denotes, which tag to modify * @param value denotes new value of tag - * @param update_metaheader if true, metaheader uids are updated, - * if related dataset uids are changed, (default=true) + * @param update_metaheader if true, metaheader UIDs are updated, + * if related dataset UIDs are changed, (default=true) * @param count returns holds the number of tags, that were affected * @param ignore_missing_tags if true, tags that could not be found * while modifying (only_modify must be true) * are handled as non-errors - * @return returns EC_normal if everything is ok, else an error + * @return returns EC_Normal if everything is OK, else an error */ OFCondition modifyAllTags(OFString tag_path, const OFString &value, @@ -131,13 +131,13 @@ public: * @param ignore_missing_tags if true, tags that could not be found * while modifying (only_modify must be true) * are handled as non-errors - * @return returns EC_normal if everything is ok, else an error + * @return returns EC_Normal if everything is OK, else an error */ OFCondition deleteTag(OFString tag_path, const OFBool all_tags, const OFBool ignore_missing_tags); - /** Deletes all private data from file, ie. all tags having + /** Deletes all private data from file,\ i.e. all tags having * odd group numbers. * @return EC_Normal, if deletion was successful; error code otherwise */ @@ -146,7 +146,7 @@ public: /** Inserts new Study, Series or SOP Instance UID. If SOP Instance * UID is generated, the related tag in the metaheader is deleted, too * so that the new UID is also applied there when saving to disk later. - * @param uidkey [in] The Instance UID to insert (study, series or sop + * @param uidKey [in] The Instance UID to insert (study, series or sop * instance UID key permitted). * @return EC_Normal, if insertion was successful, error otherwise */ @@ -157,12 +157,12 @@ public: * @param file_name filename to save to * @param opt_xfer transfer syntax to save to (EXS_Unknown: dont change) * @param opt_enctype write with explicit or implicit length encoding - * @param opt_glenc option to set group lenghth calculation mode + * @param opt_glenc option to set group length calculation mode * @param opt_padenc sets padding option * @param opt_filepad pad file to a multiple of this options value * @param opt_itempad pad item to a multiple of this options value * @param opt_dataset if true:ony write only dataset, else write fileformat - * @return returns EC_normal if everything is ok, else an error + * @return returns EC_Normal if everything is OK, else an error */ OFCondition saveFile(const char *file_name, E_TransferSyntax opt_xfer = EXS_Unknown, @@ -175,7 +175,7 @@ public: /** Saves current dataset back to file using original filename and original * parameters like transfer syntax, padding etc. - * @return returns EC_normal if everything is ok, else an error + * @return returns EC_Normal if everything is OK, else an error */ OFCondition saveFile(); @@ -190,7 +190,7 @@ public: /** Returns the DcmFileFormat, that this MdfDatasetManager handles. * You should use the returned object with care to avoid - * sideeffects with other class methods, that modify this object, too. + * side-effects with other class methods, that modify this object, too. * @return returns the DcmFileFormat, this MdfDatasetManager manages and * NULL, if no file is loaded */ @@ -219,7 +219,7 @@ protected: /** If key is the tag for SOPInstanceUID or SOPClassUID, then this function * removes the related MediaStorage UIDs from the metaheader. The - * metaheader is then updated automagically when the file is saved back to + * metaheader is then updated "automagically" when the file is saved back to * disk. * @param key tag to examine */ diff --git a/dcmdata/apps/xml2dcm.cc b/dcmdata/apps/xml2dcm.cc index 8eb34966..4b161597 100644 --- a/dcmdata/apps/xml2dcm.cc +++ b/dcmdata/apps/xml2dcm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2015, OFFIS e.V. + * Copyright (C) 2003-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -300,9 +300,8 @@ static OFCondition putElementContent(xmlNodePtr current, } else { OFString dicomVal; /* convert character set from UTF-8 (for specific VRs only) */ - if (((dcmEVR == EVR_PN) || (dcmEVR == EVR_SH) || (dcmEVR == EVR_LO) || - (dcmEVR == EVR_ST) || (dcmEVR == EVR_LT) || (dcmEVR == EVR_UT)) && - (xmlStrlen(elemVal) > 0) && convertUtf8ToCharset(elemVal, dicomVal)) + if (element->isAffectedBySpecificCharacterSet() && + (xmlStrlen(elemVal) > 0) && convertUtf8ToCharset(elemVal, dicomVal)) { result = element->putOFStringArray(dicomVal); } else { diff --git a/dcmdata/data/dicom.dic b/dcmdata/data/dicom.dic index 0c9cf4de..7146c67c 100644 --- a/dcmdata/data/dicom.dic +++ b/dcmdata/data/dicom.dic @@ -1,5 +1,5 @@ # -# Copyright (C) 1994-2015, OFFIS e.V. +# Copyright (C) 1994-2016, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -23,12 +23,14 @@ # # Generated automatically from DICOM PS 3.6-2015c and PS 3.7-2015c. # File created on 2015-07-05 12:23:01 by J. Riesmeier on thinkpad. -# File updated manually on 2015-09-18 by J. Riesmeier. +# File updated manually on 2016-01-25 by J. Riesmeier. # # In addition, the data dictionary entries from the following final text # supplements and correction items (CP) have been incorporated: -# - Supplement 156 -# - CP 1441, 1454, 1458, 1461 +# - Supplement 156, 181, 184 +# - CP 1364, 1431, 1432, 1441, 1454, 1457, 1458, 1460, 1461, 1478 (WC), 1487, +# 1496, 1499, 1504, 1516 +# "WC" means "Draft Final Text - Waiting for Codes" # # Each line represents an entry in the data dictionary. Each line has 5 fields # (Tag, VR, Name, VM, Version). Entries need not be in ascending tag order. @@ -3617,17 +3619,95 @@ # #--------------------------------------------------------------------------- # -# Correction Items 1441, 1454, 1458, 1461 +# Supplement 181 (Tractography Results Storage SOP Class) # +(0066,0101) SQ TrackSetSequence 1 Supplement_181 +(0066,0102) SQ TrackSequence 1 Supplement_181 +(0066,0103) OW RecommendedDisplayCIELabValueList 1 Supplement_181 +(0066,0104) SQ TrackingAlgorithmIdentificationSequence 1 Supplement_181 +(0066,0105) UL TrackSetNumber 1 Supplement_181 +(0066,0106) LO TrackSetLabel 1 Supplement_181 +(0066,0107) UT TrackSetDescription 1 Supplement_181 +(0066,0108) SQ TrackSetAnatomicalTypeCodeSequence 1 Supplement_181 +(0066,0121) SQ MeasurementsSequence 1 Supplement_181 +(0066,0124) SQ TrackSetStatisticsSequence 1 Supplement_181 +(0066,0125) OF FloatingPointValues 1 Supplement_181 +(0066,0129) OL TrackPointIndexList 1 Supplement_181 +(0066,0130) SQ TrackStatisticsSequence 1 Supplement_181 +(0066,0132) SQ MeasurementValuesSequence 1 Supplement_181 +(0066,0133) SQ DiffusionAcquisitionCodeSequence 1 Supplement_181 +(0066,0134) SQ DiffusionModelCodeSequence 1 Supplement_181 +# +#--------------------------------------------------------------------------- +# +# Supplement 184 (Brachytherapy Delivery Instruction) +# +(0074,1401) SQ BrachyTaskSequence 1 Supplement_184 +(0074,1402) DS ContinuationStartTotalReferenceAirKerma 1 Supplement_184 +(0074,1403) DS ContinuationEndTotalReferenceAirKerma 1 Supplement_184 +(0074,1404) IS ContinuationPulseNumber 1 Supplement_184 +(0074,1405) SQ ChannelDeliveryOrderSequence 1 Supplement_184 +(0074,1406) IS ReferencedChannelNumber 1 Supplement_184 +(0074,1407) DS StartCumulativeTimeWeight 1 Supplement_184 +(0074,1408) DS EndCumulativeTimeWeight 1 Supplement_184 +(0074,1409) SQ OmittedChannelSequence 1 Supplement_184 +(0074,140A) CS ReasonForChannelOmission 1 Supplement_184 +(0074,140B) LO ReasonForChannelOmissionDescription 1 Supplement_184 +(0074,140C) IS ChannelDeliveryOrderIndex 1 Supplement_184 +(0074,140D) SQ ChannelDeliveryContinuationSequence 1 Supplement_184 +(0074,140E) SQ OmittedApplicationSetupSequence 1 Supplement_184 +# +#--------------------------------------------------------------------------- +# +# Correction Items 1364, 1431, 1432, 1441, 1454, 1457, 1458, 1460, 1461, 1478 (WC), +# 1487, 1496, 1499, 1504, 1516 +# +(0008,119A) SQ OtherFailuresSequence 1 CP_1364 +(300A,0090) CS BeamDoseType 1 CP_1431 +(300A,0091) DS AlternateBeamDose 1 CP_1431 +(300A,0092) CS AlternateBeamDoseType 1 CP_1431 +(300A,0309) CS ModulatedScanModeType 1 CP_1432 (0040,4070) SQ OutputDestinationSequence 1 CP_1441 (0040,4071) SQ DICOMStorageSequence 1 CP_1441 (0040,4072) SQ STOWRSStorageSequence 1 CP_1441 (0040,4073) UR StorageURL 1 CP_1441 (0040,4074) SQ XDSStorageSequence 1 CP_1441 (0028,2002) CS ColorSpace 1 CP_1454 +(0010,0026) SQ SourcePatientGroupIdentificationSequence 1 CP_1457 +(0010,0027) SQ GroupOfPatientsIdentificationSequence 1 CP_1457 +(0010,0028) US SubjectRelativePositionInImage 3 CP_1457 (0040,9213) FD DoubleFloatRealWorldValueLastValueMapped 1 CP_1458 (0040,9214) FD DoubleFloatRealWorldValueFirstValueMapped 1 CP_1458 +(300A,0501) FL DistalDepthFraction 1 CP_1460 +(300A,0502) FL DistalDepth 1 CP_1460 +(300A,0503) FL NominalRangeModulatioFractions 2 CP_1460 +(300A,0504) FL NominalRangeModulatedRegionDepths 2 CP_1460 +(300A,0505) SQ DepthDoseParametersSequence 1 CP_1460 +(300A,0506) SQ DeliveredDepthDoseParametersSequence 1 CP_1460 +(300A,0507) FL DeliveredDistalDepthFraction 1 CP_1460 +(300A,0508) FL DeliveredDistalDepth 1 CP_1460 +(300A,0509) FL DeliveredNominalRangeModulationFractions 2 CP_1460 +(300A,0510) FL DeliveredNominalRangeModulatedRegionDepths 2 CP_1460 +(300A,0511) CS DeliveredReferenceDoseDefinition 1 CP_1460 +(300A,0512) CS ReferenceDoseDefinition 1 CP_1460 (0018,1320) FL B1rms 1 CP_1461 +(0010,0212) UC StrainDescription 1 CP_1478 +(0010,0213) LO StrainNomenclature 1 CP_1478 +(0010,0214) LO StrainStockNumber 1 CP_1478 +(0010,0215) SQ StrainSourceRegistryCodeSequence 1 CP_1478 +(0010,0216) SQ StrainStockSequence 1 CP_1478 +(0010,0217) LO StrainSource 1 CP_1478 +(0010,0218) UT StrainAdditionalInformation 1 CP_1478 +(0010,0219) SQ StrainCodeSequence 1 CP_1478 +(0070,030B) FD FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix 16 CP_1487 +(0062,0020) UT TrackingID 1 CP_1496 +(0062,0021) UI TrackingUID 1 CP_1496 +(0066,0040) OL LongPrimitivePointIndexList 1 CP_1499 +(0066,0041) OL LongTrianglePointIndexList 1 CP_1499 +(0066,0042) OL LongEdgePointIndexList 1 CP_1499 +(0066,0043) OL LongVertexPointIndexList 1 CP_1499 +(300A,0355) LO TrayAccessoryCode 1 CP_1504 +(0008,0055) AE StationAETitle 1 CP_1516 # #--------------------------------------------------------------------------- # diff --git a/dcmdata/docs/dcm2xml.man b/dcmdata/docs/dcm2xml.man index e4b80e38..985c1a75 100644 --- a/dcmdata/docs/dcm2xml.man +++ b/dcmdata/docs/dcm2xml.man @@ -121,7 +121,7 @@ specific character set: +Cc --charset-check-all check all data elements with string values - (default: only PN, LO, LT, SH, ST and UT) + (default: only PN, LO, LT, SH, ST, UC and UT) # this option is only used for the mapping to an appropriate # XML character encoding, but not for the conversion to UTF-8 @@ -307,7 +307,10 @@ Hebrew "ISO_IR 138" => "ISO-8859-8" If this DICOM attribute is missing in the input file, although needed, option \e --charset-assume can be used to specify an appropriate character set -manually (using one of the DICOM defined terms). +manually (using one of the DICOM defined terms). For reasons of backward +compatibility with previous versions of this tool, the following terms are also +supported and mapped automatically to the associated DICOM defined terms: +latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew. Multiple character sets using code extension techniques are not supported. If needed, option \e --convert-to-utf8 can be used to convert the DICOM file or @@ -382,6 +385,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 2002-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2002-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/docs/dump2dcm.man b/dcmdata/docs/dump2dcm.man index 17f914cb..98f2e133 100644 --- a/dcmdata/docs/dump2dcm.man +++ b/dcmdata/docs/dump2dcm.man @@ -199,8 +199,8 @@ VR: Value Representation must be written as 2 characters as in between the two characters. If the VR can be determined from the tag, this part of a line is optional. Value: There are several rules for writing values: - 1. US, SS, SL, UL, FD, FL are written as decimal strings that - can be read by scanf(). + 1. US, SS, SL, UL, FD, FL, OD, OF and OL are written as decimal + strings that can be read by scanf(). 2. AT is written as '(gggg,eeee)' with additional spaces stripped off automatically and gggg and eeee being decimal strings that can be read by scanf(). @@ -312,6 +312,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 1996-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1996-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmdata/include/dcmtk/dcmdata/dcbytstr.h b/dcmdata/include/dcmtk/dcmdata/dcbytstr.h index ada8a415..1c0077dd 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcbytstr.h +++ b/dcmdata/include/dcmtk/dcmdata/dcbytstr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2013, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -252,7 +252,8 @@ class DCMTK_DCMDATA_EXPORT DcmByteString: public DcmElement * codes below 128 are considered to be ASCII codes and all others are considered to * be non-ASCII. * @param checkAllStrings if true, also check elements with string values not affected - * by SpecificCharacterSet (0008,0005), default: only check PN, LO, LT, SH, ST, UT + * by SpecificCharacterSet (0008,0005). By default, only check PN, LO, LT, SH, ST, + * UC and UT, i.e. none of the derived VR classes. * @return true if element contains non-ASCII characters, false otherwise */ virtual OFBool containsExtendedCharacters(const OFBool checkAllStrings = OFFalse); @@ -357,6 +358,8 @@ class DCMTK_DCMDATA_EXPORT DcmByteString: public DcmElement * @param maxLen maximum number of characters allowed for a single value (0 = no check) * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcdatutl.h b/dcmdata/include/dcmtk/dcmdata/dcdatutl.h index b7751ad2..464dadf0 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdatutl.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdatutl.h @@ -1,9 +1,9 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2011-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * - * This software and supporting documentation are maintained by + * This software and supporting documentation were developed by * * OFFIS e.V. * R&D Division Health @@ -11,9 +11,9 @@ * D-26121 Oldenburg, Germany * * - * Module: dcmiod + * Module: dcmdata * - * Author: Michael Onken + * Author: Joerg Riesmeier, Michael Onken * * Purpose: Static helper functionality for dcmdata module * @@ -22,13 +22,14 @@ #ifndef DCDATUTL_H #define DCDATUTL_H -#include "dcmtk/config/osconfig.h" +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/ofstd/ofstring.h" #include "dcmtk/dcmdata/dcdefine.h" #include "dcmtk/dcmdata/dcxfer.h" #include "dcmtk/dcmdata/dcdatset.h" -/** Class with helper functions used within the dcmiod module (and beyond) + +/** Class with helper functions used within the dcmdata module (and beyond) */ class DCMTK_DCMDATA_EXPORT DcmDataUtil { @@ -53,7 +54,7 @@ public: * ERM_metaOnly. * @return EC_Normal if successful, an error code otherwise */ - static OFCondition getSOPInstanceFromFile(const OFString &filename, + static OFCondition getSOPInstanceFromFile(const OFFilename &filename, OFString &sopClassUID, OFString &sopInstanceUID, OFString &transferSyntaxUID, diff --git a/dcmdata/include/dcmtk/dcmdata/dcddirif.h b/dcmdata/include/dcmtk/dcmdata/dcddirif.h index 95c43612..3ffc06db 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcddirif.h +++ b/dcmdata/include/dcmtk/dcmdata/dcddirif.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2015, OFFIS e.V. + * Copyright (C) 2002-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -133,6 +133,12 @@ class DCMTK_DCMDATA_EXPORT DicomDirInterface AP_GeneralPurposeBDMPEG4HPatLV41, /// General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP\@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD) AP_GeneralPurposeBDMPEG4HPatLV41BD, + /// General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D) + AP_GeneralPurposeBDMPEG4HPatLV42_2D, + /// General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D) + AP_GeneralPurposeBDMPEG4HPatLV42_3D, + /// General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42) + AP_GeneralPurposeBDMPEG4StereoHPatLV42, /// General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG) AP_USBandFlashJPEG, /// General Purpose USB and Flash Memory Interchange with JPEG 2000 (STD-GEN-USB/MMC/CF/SD-J2K) @@ -1074,6 +1080,18 @@ class DCMTK_DCMDATA_EXPORT DicomDirInterface const OFString &referencedFileID, const OFFilename &sourceFilename); + /** create or update tract record and copy required values from dataset + * @param record record to be updated, use NULL to create a new one + * @param fileformat DICOM dataset of the current file + * @param referencedFileID value of the Referenced File ID attribute + * @param sourceFilename name of the source DICOM file + * @return pointer to new or updated record, NULL if an error occurred + */ + DcmDirectoryRecord *buildTractRecord(DcmDirectoryRecord *record, + DcmFileFormat *fileformat, + const OFString &referencedFileID, + const OFFilename &sourceFilename); + /** create or update image record and copy required values from dataset * @param record record to be updated, use NULL to create a new one * @param fileformat DICOM dataset of the current file diff --git a/dcmdata/include/dcmtk/dcmdata/dcdeftag.h b/dcmdata/include/dcmtk/dcmdata/dcdeftag.h index 1f6e5c11..829d379a 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdeftag.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdeftag.h @@ -4,7 +4,7 @@ ** ** User: joergr ** Host: thinkpad -** Date: 2015-09-18 11:18:13 +** Date: 2016-01-25 17:53:33 ** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdeftag ** ** From: ../data/dicom.dic @@ -17,12 +17,12 @@ #include "dcmtk/dcmdata/dctagkey.h" -#define DCM_DICT_DEFTAG_BUILD_DATE "2015-09-18 11:18:13" +#define DCM_DICT_DEFTAG_BUILD_DATE "2016-01-25 17:53:33" /* ** Fixed Tags in ascending (gggg,eeee) order. -** Number of entries: 3956 +** Number of entries: 4019 ** Tags with a repeating component (repeating tags) are listed later. */ #define DCM_CommandGroupLength DcmTagKey(0x0000, 0x0000) @@ -136,6 +136,7 @@ #define DCM_QueryRetrieveLevel DcmTagKey(0x0008, 0x0052) #define DCM_QueryRetrieveView DcmTagKey(0x0008, 0x0053) #define DCM_RetrieveAETitle DcmTagKey(0x0008, 0x0054) +#define DCM_StationAETitle DcmTagKey(0x0008, 0x0055) #define DCM_InstanceAvailability DcmTagKey(0x0008, 0x0056) #define DCM_FailedSOPInstanceUIDList DcmTagKey(0x0008, 0x0058) #define DCM_Modality DcmTagKey(0x0008, 0x0060) @@ -231,6 +232,7 @@ #define DCM_FailureReason DcmTagKey(0x0008, 0x1197) #define DCM_FailedSOPSequence DcmTagKey(0x0008, 0x1198) #define DCM_ReferencedSOPSequence DcmTagKey(0x0008, 0x1199) +#define DCM_OtherFailuresSequence DcmTagKey(0x0008, 0x119a) #define DCM_StudiesContainingOtherReferencedInstancesSequence DcmTagKey(0x0008, 0x1200) #define DCM_RelatedSeriesSequence DcmTagKey(0x0008, 0x1250) #define DCM_RETIRED_LossyImageCompressionRetired DcmTagKey(0x0008, 0x2110) @@ -299,6 +301,9 @@ #define DCM_IssuerOfPatientID DcmTagKey(0x0010, 0x0021) #define DCM_TypeOfPatientID DcmTagKey(0x0010, 0x0022) #define DCM_IssuerOfPatientIDQualifiersSequence DcmTagKey(0x0010, 0x0024) +#define DCM_SourcePatientGroupIdentificationSequence DcmTagKey(0x0010, 0x0026) +#define DCM_GroupOfPatientsIdentificationSequence DcmTagKey(0x0010, 0x0027) +#define DCM_SubjectRelativePositionInImage DcmTagKey(0x0010, 0x0028) #define DCM_PatientBirthDate DcmTagKey(0x0010, 0x0030) #define DCM_PatientBirthTime DcmTagKey(0x0010, 0x0032) #define DCM_PatientSex DcmTagKey(0x0010, 0x0040) @@ -307,6 +312,14 @@ #define DCM_PatientPrimaryLanguageModifierCodeSequence DcmTagKey(0x0010, 0x0102) #define DCM_QualityControlSubject DcmTagKey(0x0010, 0x0200) #define DCM_QualityControlSubjectTypeCodeSequence DcmTagKey(0x0010, 0x0201) +#define DCM_StrainDescription DcmTagKey(0x0010, 0x0212) +#define DCM_StrainNomenclature DcmTagKey(0x0010, 0x0213) +#define DCM_StrainStockNumber DcmTagKey(0x0010, 0x0214) +#define DCM_StrainSourceRegistryCodeSequence DcmTagKey(0x0010, 0x0215) +#define DCM_StrainStockSequence DcmTagKey(0x0010, 0x0216) +#define DCM_StrainSource DcmTagKey(0x0010, 0x0217) +#define DCM_StrainAdditionalInformation DcmTagKey(0x0010, 0x0218) +#define DCM_StrainCodeSequence DcmTagKey(0x0010, 0x0219) #define DCM_OtherPatientIDs DcmTagKey(0x0010, 0x1000) #define DCM_OtherPatientNames DcmTagKey(0x0010, 0x1001) #define DCM_OtherPatientIDsSequence DcmTagKey(0x0010, 0x1002) @@ -2583,6 +2596,8 @@ #define DCM_SegmentationFractionalType DcmTagKey(0x0062, 0x0010) #define DCM_SegmentedPropertyTypeModifierCodeSequence DcmTagKey(0x0062, 0x0011) #define DCM_UsedSegmentsSequence DcmTagKey(0x0062, 0x0012) +#define DCM_TrackingID DcmTagKey(0x0062, 0x0020) +#define DCM_TrackingUID DcmTagKey(0x0062, 0x0021) #define DCM_DeformableRegistrationSequence DcmTagKey(0x0064, 0x0002) #define DCM_SourceFrameOfReferenceUID DcmTagKey(0x0064, 0x0003) #define DCM_DeformableRegistrationGridSequence DcmTagKey(0x0064, 0x0005) @@ -2642,6 +2657,22 @@ #define DCM_LongTrianglePointIndexList DcmTagKey(0x0066, 0x0041) #define DCM_LongEdgePointIndexList DcmTagKey(0x0066, 0x0042) #define DCM_LongVertexPointIndexList DcmTagKey(0x0066, 0x0043) +#define DCM_TrackSetSequence DcmTagKey(0x0066, 0x0101) +#define DCM_TrackSequence DcmTagKey(0x0066, 0x0102) +#define DCM_RecommendedDisplayCIELabValueList DcmTagKey(0x0066, 0x0103) +#define DCM_TrackingAlgorithmIdentificationSequence DcmTagKey(0x0066, 0x0104) +#define DCM_TrackSetNumber DcmTagKey(0x0066, 0x0105) +#define DCM_TrackSetLabel DcmTagKey(0x0066, 0x0106) +#define DCM_TrackSetDescription DcmTagKey(0x0066, 0x0107) +#define DCM_TrackSetAnatomicalTypeCodeSequence DcmTagKey(0x0066, 0x0108) +#define DCM_MeasurementsSequence DcmTagKey(0x0066, 0x0121) +#define DCM_TrackSetStatisticsSequence DcmTagKey(0x0066, 0x0124) +#define DCM_FloatingPointValues DcmTagKey(0x0066, 0x0125) +#define DCM_TrackPointIndexList DcmTagKey(0x0066, 0x0129) +#define DCM_TrackStatisticsSequence DcmTagKey(0x0066, 0x0130) +#define DCM_MeasurementValuesSequence DcmTagKey(0x0066, 0x0132) +#define DCM_DiffusionAcquisitionCodeSequence DcmTagKey(0x0066, 0x0133) +#define DCM_DiffusionModelCodeSequence DcmTagKey(0x0066, 0x0134) #define DCM_ImplantSize DcmTagKey(0x0068, 0x6210) #define DCM_ImplantTemplateVersion DcmTagKey(0x0068, 0x6221) #define DCM_ReplacedImplantTemplateSequence DcmTagKey(0x0068, 0x6222) @@ -2802,6 +2833,7 @@ #define DCM_RegistrationSequence DcmTagKey(0x0070, 0x0308) #define DCM_MatrixRegistrationSequence DcmTagKey(0x0070, 0x0309) #define DCM_MatrixSequence DcmTagKey(0x0070, 0x030a) +#define DCM_FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix DcmTagKey(0x0070, 0x030b) #define DCM_FrameOfReferenceTransformationMatrixType DcmTagKey(0x0070, 0x030c) #define DCM_RegistrationTypeCodeSequence DcmTagKey(0x0070, 0x030d) #define DCM_FiducialDescription DcmTagKey(0x0070, 0x030f) @@ -3031,6 +3063,20 @@ #define DCM_BeamOrderIndex DcmTagKey(0x0074, 0x1324) #define DCM_DoubleExposureMeterset DcmTagKey(0x0074, 0x1338) #define DCM_DoubleExposureFieldDelta DcmTagKey(0x0074, 0x133a) +#define DCM_BrachyTaskSequence DcmTagKey(0x0074, 0x1401) +#define DCM_ContinuationStartTotalReferenceAirKerma DcmTagKey(0x0074, 0x1402) +#define DCM_ContinuationEndTotalReferenceAirKerma DcmTagKey(0x0074, 0x1403) +#define DCM_ContinuationPulseNumber DcmTagKey(0x0074, 0x1404) +#define DCM_ChannelDeliveryOrderSequence DcmTagKey(0x0074, 0x1405) +#define DCM_ReferencedChannelNumber DcmTagKey(0x0074, 0x1406) +#define DCM_StartCumulativeTimeWeight DcmTagKey(0x0074, 0x1407) +#define DCM_EndCumulativeTimeWeight DcmTagKey(0x0074, 0x1408) +#define DCM_OmittedChannelSequence DcmTagKey(0x0074, 0x1409) +#define DCM_ReasonForChannelOmission DcmTagKey(0x0074, 0x140a) +#define DCM_ReasonForChannelOmissionDescription DcmTagKey(0x0074, 0x140b) +#define DCM_ChannelDeliveryOrderIndex DcmTagKey(0x0074, 0x140c) +#define DCM_ChannelDeliveryContinuationSequence DcmTagKey(0x0074, 0x140d) +#define DCM_OmittedApplicationSetupSequence DcmTagKey(0x0074, 0x140e) #define DCM_ImplantAssemblyTemplateName DcmTagKey(0x0076, 0x0001) #define DCM_ImplantAssemblyTemplateIssuer DcmTagKey(0x0076, 0x0003) #define DCM_ImplantAssemblyTemplateVersion DcmTagKey(0x0076, 0x0006) @@ -3503,6 +3549,9 @@ #define DCM_AverageBeamDosePointDepth DcmTagKey(0x300a, 0x008d) #define DCM_AverageBeamDosePointEquivalentDepth DcmTagKey(0x300a, 0x008e) #define DCM_AverageBeamDosePointSSD DcmTagKey(0x300a, 0x008f) +#define DCM_BeamDoseType DcmTagKey(0x300a, 0x0090) +#define DCM_AlternateBeamDose DcmTagKey(0x300a, 0x0091) +#define DCM_AlternateBeamDoseType DcmTagKey(0x300a, 0x0092) #define DCM_NumberOfBrachyApplicationSetups DcmTagKey(0x300a, 0x00a0) #define DCM_BrachyApplicationSetupDoseSpecificationPoint DcmTagKey(0x300a, 0x00a2) #define DCM_BrachyApplicationSetupDose DcmTagKey(0x300a, 0x00a4) @@ -3724,6 +3773,7 @@ #define DCM_RadiationAtomicNumber DcmTagKey(0x300a, 0x0304) #define DCM_RadiationChargeState DcmTagKey(0x300a, 0x0306) #define DCM_ScanMode DcmTagKey(0x300a, 0x0308) +#define DCM_ModulatedScanModeType DcmTagKey(0x300a, 0x0309) #define DCM_VirtualSourceAxisDistances DcmTagKey(0x300a, 0x030a) #define DCM_SnoutSequence DcmTagKey(0x300a, 0x030c) #define DCM_SnoutPosition DcmTagKey(0x300a, 0x030d) @@ -3751,6 +3801,7 @@ #define DCM_PatientSupportType DcmTagKey(0x300a, 0x0350) #define DCM_PatientSupportID DcmTagKey(0x300a, 0x0352) #define DCM_PatientSupportAccessoryCode DcmTagKey(0x300a, 0x0354) +#define DCM_TrayAccessoryCode DcmTagKey(0x300a, 0x0355) #define DCM_FixationLightAzimuthalAngle DcmTagKey(0x300a, 0x0356) #define DCM_FixationLightPolarAngle DcmTagKey(0x300a, 0x0358) #define DCM_MetersetRate DcmTagKey(0x300a, 0x035a) @@ -3804,6 +3855,18 @@ #define DCM_DeviceMotionExecutionMode DcmTagKey(0x300a, 0x0451) #define DCM_DeviceMotionObservationMode DcmTagKey(0x300a, 0x0452) #define DCM_DeviceMotionParameterCodeSequence DcmTagKey(0x300a, 0x0453) +#define DCM_DistalDepthFraction DcmTagKey(0x300a, 0x0501) +#define DCM_DistalDepth DcmTagKey(0x300a, 0x0502) +#define DCM_NominalRangeModulatioFractions DcmTagKey(0x300a, 0x0503) +#define DCM_NominalRangeModulatedRegionDepths DcmTagKey(0x300a, 0x0504) +#define DCM_DepthDoseParametersSequence DcmTagKey(0x300a, 0x0505) +#define DCM_DeliveredDepthDoseParametersSequence DcmTagKey(0x300a, 0x0506) +#define DCM_DeliveredDistalDepthFraction DcmTagKey(0x300a, 0x0507) +#define DCM_DeliveredDistalDepth DcmTagKey(0x300a, 0x0508) +#define DCM_DeliveredNominalRangeModulationFractions DcmTagKey(0x300a, 0x0509) +#define DCM_DeliveredNominalRangeModulatedRegionDepths DcmTagKey(0x300a, 0x0510) +#define DCM_DeliveredReferenceDoseDefinition DcmTagKey(0x300a, 0x0511) +#define DCM_ReferenceDoseDefinition DcmTagKey(0x300a, 0x0512) #define DCM_ReferencedRTPlanSequence DcmTagKey(0x300c, 0x0002) #define DCM_ReferencedBeamSequence DcmTagKey(0x300c, 0x0004) #define DCM_ReferencedBeamNumber DcmTagKey(0x300c, 0x0006) diff --git a/dcmdata/include/dcmtk/dcmdata/dcdirrec.h b/dcmdata/include/dcmtk/dcmdata/dcdirrec.h index c10b90e5..249b5d8f 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdirrec.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdirrec.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -122,7 +122,9 @@ typedef enum { /// plan ERT_Plan = 44, /// surface scan - ERT_SurfaceScan = 45 + ERT_SurfaceScan = 45, + /// tractography + ERT_Tract = 46 } E_DirRecType; diff --git a/dcmdata/include/dcmtk/dcmdata/dcelem.h b/dcmdata/include/dcmtk/dcmdata/dcelem.h index 09f1844d..bc330ad1 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcelem.h +++ b/dcmdata/include/dcmtk/dcmdata/dcelem.h @@ -41,6 +41,13 @@ class DCMTK_DCMDATA_EXPORT DcmElement public: + // be friend with "greater than" and "less than" operators that are defined + // outside of this class + friend OFBool operator< (const DcmElement& lhs, const DcmElement& rhs); + friend OFBool operator> (const DcmElement& lhs, const DcmElement& rhs); + friend OFBool operator<=(const DcmElement& lhs, const DcmElement& rhs); + friend OFBool operator>=(const DcmElement& lhs, const DcmElement& rhs); + /** constructor. * Create new element from given tag and length. * @param tag DICOM tag for the new element @@ -77,7 +84,9 @@ class DCMTK_DCMDATA_EXPORT DcmElement * -1 if either the value of the first component that does not match * is lower in this object than in rhs, or all compared components match * but this object has fewer components than rhs. Also returned if rhs - * cannot be casted to this object type. + * cannot be casted to this object type or both objects are of + * different VR (i.e. the DcmEVR returned by the element's ident() + * call are different). * 1 if either the value of the first component that does not match * is greater in this object than in rhs object, or all compared * components match but the this component is longer. @@ -864,5 +873,54 @@ class DCMTK_DCMDATA_EXPORT DcmElement Uint8 *fValue; }; +/** Checks whether left hand side element is smaller than right hand side + * element. Uses DcmElement's compare() method in order to perform the + * comparison. See DcmElement::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is smaller than rhs, OFFalse otherwise + */ +inline OFBool operator< (const DcmElement& lhs, const DcmElement& rhs) +{ + return ( lhs.compare(rhs) < 0 ); +} + +/** Checks whether left hand side element is greater than right hand side + * element. Uses DcmElement's compare() method in order to perform the + * comparison. See DcmElement::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is greater than rhs, OFFalse otherwise + */ +inline OFBool operator> (const DcmElement& lhs, const DcmElement& rhs) +{ + return rhs < lhs; +} + +/** Checks whether left hand side element is smaller than or equal to right hand + * side element. Uses DcmElement's compare() method in order to perform the + * comparison. See DcmElement::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is smaller than rhs or both are equal, OFFalse + * otherwise + */ +inline OFBool operator<=(const DcmElement& lhs, const DcmElement& rhs) +{ + return !(lhs > rhs); +} + +/** Checks whether left hand side element is greater than or equal to right hand + * side element. Uses DcmElement's compare() method in order to perform the + * comparison. See DcmElement::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is greater than rhs or both are equal, OFFalse + * otherwise + */ +inline OFBool operator>=(const DcmElement& lhs, const DcmElement& rhs) +{ + return !(lhs < rhs); +} #endif // DCELEM_H diff --git a/dcmdata/include/dcmtk/dcmdata/dcitem.h b/dcmdata/include/dcmtk/dcmdata/dcitem.h index 3150b55d..0c917352 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcitem.h +++ b/dcmdata/include/dcmtk/dcmdata/dcitem.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -47,6 +47,13 @@ class DCMTK_DCMDATA_EXPORT DcmItem { public: + // be friend with "greater than" and "less than" operators that are defined + // outside of this class + friend OFBool operator< (const DcmItem& lhs, const DcmItem& rhs); + friend OFBool operator> (const DcmItem& lhs, const DcmItem& rhs); + friend OFBool operator<=(const DcmItem& lhs, const DcmItem& rhs); + friend OFBool operator>=(const DcmItem& lhs, const DcmItem& rhs); + /** default constructor */ DcmItem(); @@ -66,7 +73,8 @@ class DCMTK_DCMDATA_EXPORT DcmItem /** assignment operator. Private creator cache is not copied * as it is also the case for clone(). - * @param the item to be copied + * @param obj the item to be copied + * @return Reference to this object after assignment */ DcmItem &operator=(const DcmItem &obj); @@ -74,7 +82,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem * with a given object of the same type. The tag of the element is also * considered as the first component that is compared, followed by the * object types (VR, i.e. DCMTK'S EVR) and the comparison of all value - * components of the object, preferrably in the order declared in the + * components of the object, preferably in the order declared in the * object (if applicable). For item values that means that all elements * within the items are compared to each other in ascending tag order. * This may be an expensive operation. @@ -164,7 +172,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem * VR field and the value itself, for items and sequences it returns * the length of the complete item or sequence including delimitation tags * if applicable. - * If length encodig is set to be explicit and the total item size is + * If length encoding is set to be explicit and the total item size is * larger than the available 32-bit length field, then undefined length * is returned. If "dcmWriteOversizedSeqsAndItemsImplicit" is disabled, * also the internal DcmObject errorFlag is set to EC_SeqOrItemContentOverflow @@ -180,7 +188,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem /** calculate the value length (without attribute tag, VR and length field) * of this DICOM element when encoded with the given transfer syntax and * the given encoding type for sequences. - * If length encodig is set to be explicit and the item content is larger + * If length encoding is set to be explicit and the item content is larger * than the available 32-bit length field, then undefined length is * returned. If "dcmWriteOversizedSeqsAndItemsUndefined" is disabled, * also the internal DcmObject errorFlag is set to @@ -277,8 +285,8 @@ class DCMTK_DCMDATA_EXPORT DcmItem * character codes below 128 are considered to be ASCII codes and all others are * considered to be non-ASCII. * @param checkAllStrings if true, also check elements with string values not affected - * by SpecificCharacterSet (0008,0005), default: only check PN, LO, LT, SH, ST, UC - * and UT + * by SpecificCharacterSet (0008,0005). By default, only check PN, LO, LT, SH, ST, + * UC and UT. * @return true if object contains non-ASCII characters, false otherwise */ virtual OFBool containsExtendedCharacters(const OFBool checkAllStrings = OFFalse); @@ -622,7 +630,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem /** find element and get value as a C++ string (only one component). * Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF, - * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT + * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT * Since the getOFString() routine is called internally the resulting string is normalized, i.e. * leading and/or trailing spaces are removed according to the associated value representation, * or the element value is converted to a character string (for non-string VRs) - see documentation @@ -643,7 +651,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem /** find element and get value as a C++ string (all components). * Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF, - * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT + * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT * Since the getOFStringArray() routine is called internally the resulting string is normalized, * i.e. leading and/or trailing spaces are removed according to the associated value representation * or the element values are converted to character strings (for non-string VRs) - see documentation @@ -743,7 +751,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem const OFBool searchIntoSub = OFFalse); /** find element and get value as an unsigned 32-bit integer. - * Applicable to the following VRs: UL + * Applicable to the following VRs: OL, UL * The result variable 'value' is automatically set to zero if an error occurs. * @param tagKey DICOM tag specifying the attribute to be searched for * @param value variable in which the element value is stored @@ -757,7 +765,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem const OFBool searchIntoSub = OFFalse); /** find element and get value as an array of unsigned 32-bit integers. - * Applicable to the following VRs: UL + * Applicable to the following VRs: OL, UL * The result variable 'value' is automatically set to NULL if an error occurs. * @param tagKey DICOM tag specifying the attribute to be searched for * @param value variable in which the reference to the element value is stored @@ -799,7 +807,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem const OFBool searchIntoSub = OFFalse); /** find element and get value as a (signed) long integer. - * Applicable to the following VRs: IS, SL, SS, UL, US + * Applicable to the following VRs: IS, OL, SL, SS, UL, US * The result variable 'value' is automatically set to zero if an error occurs. * @param tagKey DICOM tag specifying the attribute to be searched for * @param value variable in which the element value is stored @@ -961,7 +969,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem /** create a new element, put specified value to it and insert the element into the dataset/item. * Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF, - * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT + * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT * @param tag DICOM tag specifying the attribute to be created * @param value string value to be set for the new element (might be empty or NULL) * @param replaceOld flag indicating whether to replace an existing element or not @@ -973,7 +981,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem /** create a new element, put specified value to it and insert the element into the dataset/item. * Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF, - * OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT + * OL, OW, PN, SH, SL, SS, ST, TM, UC, UI, UL, UR, US, UT * Please note that since the length of the string has to be specified explicitly, the string * can contain more than one NULL byte. * @param tag DICOM tag specifying the attribute to be created @@ -1067,7 +1075,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem const OFBool replaceOld = OFTrue); /** create a new element, put specified value to it and insert the element into the dataset/item. - * Applicable to the following VRs: UL + * Applicable to the following VRs: OL, UL * @param tag DICOM tag specifying the attribute to be created * @param value value to be set for the new element * @param pos index of the value to be set (0..vm). A value can be appended to @@ -1080,6 +1088,19 @@ class DCMTK_DCMDATA_EXPORT DcmItem const unsigned long pos = 0, const OFBool replaceOld = OFTrue); + /** create a new element, put specified value to it and insert the element into the dataset/item. + * Applicable to the following VRs: OL, UL + * @param tag DICOM tag specifying the attribute to be created + * @param value value to be set for the new element + * @param count number of values (not bytes!) to be copied from 'value' + * @param replaceOld flag indicating whether to replace an existing element or not + * @return EC_Normal upon success, an error code otherwise. + */ + OFCondition putAndInsertUint32Array(const DcmTag &tag, + const Uint32 *value, + const unsigned long count, + const OFBool replaceOld = OFTrue); + /** create a new element, put specified value to it and insert the element into the dataset/item. * Applicable to the following VRs: SL * @param tag DICOM tag specifying the attribute to be created @@ -1166,7 +1187,7 @@ class DCMTK_DCMDATA_EXPORT DcmItem /** create a new element (with no value) and insert it into the dataset/item. * Applicable to the following VRs: AE, AS, AT, CS, DA, DS, DT, FL, FD, IS, LO, LT, OB, OD, OF, - * OW, PN, SH, SL, SQ, SS, ST, TM, UC, UI, UL, UR, US, UT + * OL, OW, PN, SH, SL, SQ, SS, ST, TM, UC, UI, UL, UR, US, UT * @param tag DICOM tag specifying the attribute to be created * @param replaceOld flag indicating whether to replace an existing element or not * @return EC_Normal upon success, an error code otherwise. @@ -1315,6 +1336,56 @@ class DCMTK_DCMDATA_EXPORT DcmItem DcmPrivateTagCache privateCreatorCache; }; +/** Checks whether left hand side item is smaller than right hand side + * item. Uses DcmItem's compare() method in order to perform the + * comparison. See DcmItem::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is smaller than rhs, OFFalse otherwise + */ +inline OFBool operator< (const DcmItem& lhs, const DcmItem& rhs) +{ + return ( lhs.compare(rhs) < 0 ); +} + +/** Checks whether left hand side item is greater than right hand side + * item. Uses DcmItem's compare() method in order to perform the + * comparison. See DcmItem::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is greater than rhs, OFFalse otherwise + */ +inline OFBool operator> (const DcmItem& lhs, const DcmItem& rhs) +{ + return rhs < lhs; +} + +/** Checks whether left hand side item is smaller than or equal to right hand + * side item. Uses DcmItem's compare() method in order to perform the + * comparison. See DcmItem::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is smaller than rhs or both are equal, OFFalse + * otherwise + */ +inline OFBool operator<=(const DcmItem& lhs, const DcmItem& rhs) +{ + return !(lhs > rhs); +} + +/** Checks whether left hand side element is greater than or equal to right hand + * side element. Uses DcmElement's compare() method in order to perform the + * comparison. See DcmElement::compare() for details. + * @param lhs left hand side of the comparison + * @param rhs right hand side of the comparison + * @return OFTrue if lhs is greater than rhs or both are equal, OFFalse + * otherwise + */ +inline OFBool operator>=(const DcmItem& lhs, const DcmItem& rhs) +{ + return !(lhs < rhs); +} + // // SUPPORT FUNCTIONS // diff --git a/dcmdata/include/dcmtk/dcmdata/dcmetinf.h b/dcmdata/include/dcmtk/dcmdata/dcmetinf.h index 63dfff34..8fc39039 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcmetinf.h +++ b/dcmdata/include/dcmtk/dcmdata/dcmetinf.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2013, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -29,13 +29,13 @@ /// magic string identifying DICOM files -#define DCM_Magic "DICM" +#define DCM_Magic "DICM" /// length of magic string identifying DICOM files -#define DCM_MagicLen 4 +#define DCM_MagicLen 4 /// length of DICOM file preamble, in bytes -#define DCM_PreambleLen 128 +#define DCM_PreambleLen 128 /// transfer syntax used for encoding DICOM meta-headers #define META_HEADER_DEFAULT_TRANSFERSYNTAX EXS_LittleEndianExplicit @@ -59,7 +59,7 @@ class DCMTK_DCMDATA_EXPORT DcmMetaInfo DcmMetaInfo(const DcmMetaInfo &old); /** assignment operator. - * @param the metainfo to be copied + * @param obj the metainfo to be copied */ DcmMetaInfo &operator=(const DcmMetaInfo &obj); diff --git a/dcmdata/include/dcmtk/dcmdata/dcobject.h b/dcmdata/include/dcmtk/dcmdata/dcobject.h index a9a264c3..ed8c18de 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcobject.h +++ b/dcmdata/include/dcmtk/dcmdata/dcobject.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2012, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -41,9 +41,15 @@ class DcmInputStream; class DcmWriteCache; class DcmSpecificCharacterSet; +// include this file in doxygen documentation + +/** @file dcobject.h + * @brief interface to DICOM object/dataset handling + */ + // Undefined Length Identifier now defined in dctypes.h -// Maxinum number of read bytes for a Value Element +// Maximum number of read bytes for a Value Element const Uint32 DCM_MaxReadLength = 4096; // Maximum length of tag and length in a DICOM element @@ -59,13 +65,13 @@ const Uint32 DCM_OptPrintValueLength = 40; const Uint32 DCM_OptPrintAttributeNameLength = 35; /** This flags defines whether automatic correction should be applied to input - * data (e.g. stripping of padding blanks, removal of blanks in UIDs, etc). + * data (e.g.\ stripping of padding blanks, removal of blanks in UIDs, etc). * Default is enabled. */ extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableAutomaticInputDataCorrection; /* default OFTrue */ /** This flag defines the handling of illegal odd-length attributes: If flag is - * true, odd lengths are respected (i.e. an odd number of bytes is read from + * true, odd lengths are respected (i.e.\ an odd number of bytes is read from * the input stream.) After successful reading, padding to even number of bytes * is enforced by adding a zero pad byte if dcmEnableAutomaticInputDataCorrection * is true. Otherwise the odd number of bytes remains as read. @@ -91,7 +97,7 @@ extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableCP246Support; /* default O /** DCMTK releases up to 3.5.3 created a non-conforming byte stream * as input to the MAC algorithm when creating or verifying digital signatures - * including compressed pixel data (i.e. signatures including attribute + * including compressed pixel data (i.e.\ signatures including attribute * (7FE0,0010) in an encapsulated transfer syntax). This has been fixed * in DCMTK 3.5.4, but this flag allows to revert to the old behavior * in order to create or verify signatures that are compatible with older @@ -144,7 +150,7 @@ extern DCMTK_DCMDATA_EXPORT OFGlobal dcmPreferLengthFieldSizeFromDataDic extern DCMTK_DCMDATA_EXPORT OFGlobal dcmReadImplPrivAttribMaxLengthAsSQ; /* default OFFalse */ /** This flag indicates, whether parsing errors during reading - * should be ignored, ie whether the parser should try to recover and + * should be ignored, i.e.\ whether the parser should try to recover and * parse the rest of the stream. * This flag does not work for all parsing errors (at this time) * making sense but was introduced afterwards. @@ -157,7 +163,7 @@ extern DCMTK_DCMDATA_EXPORT OFGlobal dcmIgnoreParsingErrors; /* default * Data attribute. To prevent the parser for "stumbling" over that * garbage, it is possible to tell the parser to stop after a * specific element. The flag is only sensitive to elements on - * dataset level, ie. inside sequence any occurence of the specified + * dataset level, i.e. inside sequence any occurrence of the specified * tag is ignored. Caution: Note that if Pixel Data is chosen * as stop element, any attributes behind will not be parsed, e. g. * any digital signature attributes coming after. @@ -570,7 +576,7 @@ class DCMTK_DCMDATA_EXPORT DcmObject virtual OFCondition loadAllDataIntoMemory() = 0; /** return the current value of the Length field (which is different from the functionality - * of the public getLength method). Only needed for internal purposes and for checker tools + * of the public getLength() method). Only needed for internal purposes and for checker tools * that verify values against the length field. * @return current value of length field */ @@ -578,7 +584,7 @@ class DCMTK_DCMDATA_EXPORT DcmObject protected: - /** print line indentation, e.g. a couple of spaces for each nesting level. + /** print line indentation, e.g.\ a couple of spaces for each nesting level. * Depending on the value of 'flags' other visualizations are also possible. * @param out output stream * @param flags used to customize the output (see DCMTypes::PF_xxx) @@ -616,8 +622,7 @@ class DCMTK_DCMDATA_EXPORT DcmObject DcmTag *tag = NULL); /** print given text with element information. - * Calls printInfoLineStart() and printInfoLineEnd() to frame the - * 'info' text. + * Calls printInfoLineStart() and printInfoLineEnd() to frame the 'info' text. * @param out output stream * @param flags used to customize the output (see DCMTypes::PF_xxx) * @param level current level of nested items. Used for indentation. diff --git a/dcmdata/include/dcmtk/dcmdata/dcsequen.h b/dcmdata/include/dcmtk/dcmdata/dcsequen.h index b66e8a8c..5677d213 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcsequen.h +++ b/dcmdata/include/dcmtk/dcmdata/dcsequen.h @@ -68,9 +68,9 @@ public: * with a given object of the same type. The tag of the element is also * considered as the first component that is compared, followed by the * object types (VR, i.e. DCMTK'S EVR) and the comparison of all value - * components of the object, preferrably in the order declared in the + * components of the object, preferably in the order declared in the * object (if applicable). For sequences that means that all - * containted items are compared element by element, so this may be + * contained items are compared element by element, so this may be * an expensive operation! * @param rhs the right hand side of the comparison * @return 0 if the object values are equal. @@ -196,7 +196,7 @@ public: * VR field and the value itself, for items and sequences it returns * the length of the complete item or sequence including delimitation tags * if applicable. - * If length encodig is set to be explicit and the total sequence size is + * If length encoding is set to be explicit and the total sequence size is * larger than the available 32-bit length field, then undefined length * is returned. If "dcmWriteOversizedSeqsAndItemsUndefined" is disabled, * also the internal DcmObject errorFlag is set to EC_SeqOrItemContentOverflow @@ -212,7 +212,7 @@ public: /** calculate the value length (without attribute tag, VR and length field) * of this DICOM element when encoded with the given transfer syntax and * the given encoding type for sequences. - * If length encodig is set to be explicit and the total sequence size is + * If length encoding is set to be explicit and the total sequence size is * larger than the available 32-bit length field, then undefined length * is returned. If "dcmWriteOversizedSeqsAndItemsImplicit" is disabled, * also the internal DcmObject errorFlag is set to @@ -308,8 +308,8 @@ public: * character codes below 128 are considered to be ASCII codes and all others are * considered to be non-ASCII. * @param checkAllStrings if true, also check elements with string values not affected - * by SpecificCharacterSet (0008,0005), default: only check PN, LO, LT, SH, ST, UC - * and UT + * by SpecificCharacterSet (0008,0005). By default, only check PN, LO, LT, SH, ST, + * UC and UT. * @return true if object contains non-ASCII characters, false otherwise */ virtual OFBool containsExtendedCharacters(const OFBool checkAllStrings = OFFalse); diff --git a/dcmdata/include/dcmtk/dcmdata/dctk.h b/dcmdata/include/dcmtk/dcmdata/dctk.h index 3d0447d5..2290d6ca 100644 --- a/dcmdata/include/dcmtk/dcmdata/dctk.h +++ b/dcmdata/include/dcmtk/dcmdata/dctk.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -94,6 +94,7 @@ #include "dcmtk/dcmdata/dcvrfd.h" #include "dcmtk/dcmdata/dcvrof.h" #include "dcmtk/dcmdata/dcvrod.h" +#include "dcmtk/dcmdata/dcvrol.h" // misc supporting tools #include "dcmtk/dcmdata/cmdlnarg.h" diff --git a/dcmdata/include/dcmtk/dcmdata/dcuid.h b/dcmdata/include/dcmtk/dcmdata/dcuid.h index 53c30b26..7d2254aa 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcuid.h +++ b/dcmdata/include/dcmtk/dcmdata/dcuid.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -363,7 +363,7 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID ** Defined SOP Class UIDs according to DICOM standard */ -// Storage +// Storage (DICOM) #define UID_RETIRED_StoredPrintStorage "1.2.840.10008.5.1.1.27" #define UID_RETIRED_HardcopyGrayscaleImageStorage "1.2.840.10008.5.1.1.29" #define UID_RETIRED_HardcopyColorImageStorage "1.2.840.10008.5.1.1.30" @@ -433,6 +433,7 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_DeformableSpatialRegistrationStorage "1.2.840.10008.5.1.4.1.1.66.3" #define UID_SegmentationStorage "1.2.840.10008.5.1.4.1.1.66.4" #define UID_SurfaceSegmentationStorage "1.2.840.10008.5.1.4.1.1.66.5" +#define UID_TractographyResultsStorage "1.2.840.10008.5.1.4.1.1.66.6" #define UID_RealWorldValueMappingStorage "1.2.840.10008.5.1.4.1.1.67" #define UID_SurfaceScanMeshStorage "1.2.840.10008.5.1.4.1.1.68.1" #define UID_SurfaceScanPointCloudStorage "1.2.840.10008.5.1.4.1.1.68.2" @@ -477,6 +478,7 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_RadiopharmaceuticalRadiationDoseSRStorage "1.2.840.10008.5.1.4.1.1.88.68" #define UID_ColonCADSRStorage "1.2.840.10008.5.1.4.1.1.88.69" #define UID_ImplantationPlanSRDocumentStorage "1.2.840.10008.5.1.4.1.1.88.70" +#define UID_AcquisitionContextSRStorage "1.2.840.10008.5.1.4.1.1.88.71" #define UID_EncapsulatedPDFStorage "1.2.840.10008.5.1.4.1.1.104.1" #define UID_EncapsulatedCDAStorage "1.2.840.10008.5.1.4.1.1.104.2" #define UID_PositronEmissionTomographyImageStorage "1.2.840.10008.5.1.4.1.1.128" @@ -493,6 +495,8 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_RTTreatmentSummaryRecordStorage "1.2.840.10008.5.1.4.1.1.481.7" #define UID_RTIonPlanStorage "1.2.840.10008.5.1.4.1.1.481.8" #define UID_RTIonBeamsTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.9" +#define UID_RTBeamsDeliveryInstructionStorage "1.2.840.10008.5.1.4.34.7" +#define UID_RTBrachyApplicationSetupDeliveryInstructionStorage "1.2.840.10008.5.1.4.34.10" #define UID_HangingProtocolStorage "1.2.840.10008.5.1.4.38.1" #define UID_GenericImplantTemplateStorage "1.2.840.10008.5.1.4.43.1" #define UID_ImplantAssemblyTemplateStorage "1.2.840.10008.5.1.4.44.1" @@ -525,7 +529,7 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_GETCompositeInstanceRootRetrieve "1.2.840.10008.5.1.4.1.2.4.3" #define UID_GETCompositeInstanceRetrieveWithoutBulkData "1.2.840.10008.5.1.4.1.2.5.3" -// Worklist +// Modality Worklist #define UID_FINDModalityWorklistInformationModel "1.2.840.10008.5.1.4.31" // General Purpose Worklist @@ -539,8 +543,7 @@ DCMTK_DCMDATA_EXPORT unsigned long dcmGuessModalityBytes(const char *sopClassUID #define UID_ModalityPerformedProcedureStepRetrieveSOPClass "1.2.840.10008.3.1.2.3.4" #define UID_ModalityPerformedProcedureStepNotificationSOPClass "1.2.840.10008.3.1.2.3.5" -// Radiotherapy Treatment Delivery -#define UID_RTBeamsDeliveryInstructionStorage "1.2.840.10008.5.1.4.34.7" +// Radiotherapy #define UID_RTConventionalMachineVerification "1.2.840.10008.5.1.4.34.8" #define UID_RTIonMachineVerification "1.2.840.10008.5.1.4.34.9" diff --git a/dcmdata/include/dcmtk/dcmdata/dcvr.h b/dcmdata/include/dcmtk/dcmdata/dcvr.h index 11c9e73f..922c78a5 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvr.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,6 +26,12 @@ #include "dcmtk/ofstd/ofglobal.h" #include "dcmtk/dcmdata/dcdefine.h" +// include this file in doxygen documentation + +/** @file dcvr.h + * @brief definition and handling of value representations (VR) + */ + /** Global flag to enable/disable the generation of VR=UN, which has been * introduced after the first edition of the DICOM standard (1993). * If disabled, the VR=OB is used instead. @@ -42,13 +48,19 @@ extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableUnlimitedTextVRGeneration; * introduced after the first edition of the DICOM standard (1993). * If disabled, the VR=UN (if enabled) or alternatively VR=OB is used. */ -extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableOtherFloatStringVRGeneration; /* default OFTrue */ +extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableOtherFloatVRGeneration; /* default OFTrue */ /** Global flag to enable/disable the generation of VR=OD, which has been * introduced after the first edition of the DICOM standard (1993). * If disabled, the VR=UN (if enabled) or alternatively VR=OB is used. */ -extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableOtherDoubleStringVRGeneration; /* default OFTrue */ +extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableOtherDoubleVRGeneration; /* default OFTrue */ + +/** Global flag to enable/disable the generation of VR=OL, which has been + * introduced after the first edition of the DICOM standard (1993). + * If disabled, the VR=UN (if enabled) or alternatively VR=OB is used. + */ +extern DCMTK_DCMDATA_EXPORT OFGlobal dcmEnableOtherLongVRGeneration; /* default OFTrue */ /** Global flag to enable/disable the generation of VR=UR, which has been * introduced after the first edition of the DICOM standard (1993). @@ -126,16 +138,19 @@ enum DcmEVR /// long text EVR_LT, - /// other byte string + /// other byte EVR_OB, - /// other double string + /// other double EVR_OD, - /// other float string + /// other float EVR_OF, - /// other word string + /// other long + EVR_OL, + + /// other word EVR_OW, /// person name diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrlo.h b/dcmdata/include/dcmtk/dcmdata/dcvrlo.h index e7877c91..47eeebb1 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrlo.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrlo.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2013, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -114,6 +114,8 @@ class DCMTK_DCMDATA_EXPORT DcmLongString * (See DcmElement::checkVM() for a list of valid values.) * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrlt.h b/dcmdata/include/dcmtk/dcmdata/dcvrlt.h index 108c634c..50f324c7 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrlt.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrlt.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -123,6 +123,8 @@ class DCMTK_DCMDATA_EXPORT DcmLongText * @param value string value to be checked * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrobow.h b/dcmdata/include/dcmtk/dcmdata/dcvrobow.h index 379dec52..8a1c0fad 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrobow.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrobow.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,8 +27,8 @@ #include "dcmtk/dcmdata/dcelem.h" -/** a class representing the DICOM value representations 'Other Byte String' (OB) - * and 'Other Word String' (OW) +/** a class representing the DICOM value representations 'Other Byte' (OB) + * and 'Other Word' (OW) */ class DCMTK_DCMDATA_EXPORT DcmOtherByteOtherWord : public DcmElement diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrod.h b/dcmdata/include/dcmtk/dcmdata/dcvrod.h index a135e318..eaa363ed 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrod.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrod.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2013, OFFIS e.V. + * Copyright (C) 2013-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,7 +28,7 @@ #include "dcmtk/dcmdata/dcvrfd.h" -/** a class representing the DICOM value representation 'Other Double String' (OD) +/** a class representing the DICOM value representation 'Other Double' (OD) */ class DCMTK_DCMDATA_EXPORT DcmOtherDouble : public DcmFloatingPointDouble diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrof.h b/dcmdata/include/dcmtk/dcmdata/dcvrof.h index e60df441..bd228fc5 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrof.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrof.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2013, OFFIS e.V. + * Copyright (C) 2002-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -28,7 +28,7 @@ #include "dcmtk/dcmdata/dcvrfl.h" -/** a class representing the DICOM value representation 'Other Float String' (OF) +/** a class representing the DICOM value representation 'Other Float' (OF) */ class DCMTK_DCMDATA_EXPORT DcmOtherFloat : public DcmFloatingPointSingle diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrol.h b/dcmdata/include/dcmtk/dcmdata/dcvrol.h new file mode 100644 index 00000000..747bfebb --- /dev/null +++ b/dcmdata/include/dcmtk/dcmdata/dcvrol.h @@ -0,0 +1,112 @@ +/* + * + * Copyright (C) 2016, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmdata + * + * Author: Joerg Riesmeier + * + * Purpose: Interface of class DcmOtherLong + * + */ + + +#ifndef DCVROL_H +#define DCVROL_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmdata/dcvrul.h" + + +/** a class representing the DICOM value representation 'Other Long' (OL) + */ +class DCMTK_DCMDATA_EXPORT DcmOtherLong + : public DcmUnsignedLong +{ + + public: + + /** constructor. + * Create new element from given tag and length. + * @param tag DICOM tag for the new element + * @param len value length for the new element + */ + DcmOtherLong(const DcmTag &tag, + const Uint32 len = 0); + + /** copy constructor + * @param old element to be copied + */ + DcmOtherLong(const DcmOtherLong &old); + + /** destructor + */ + virtual ~DcmOtherLong(); + + /** assignment operator + * @param obj element to be assigned/copied + * @return reference to this object + */ + DcmOtherLong &operator=(const DcmOtherLong &obj); + + /** clone method + * @return deep copy of this object + */ + virtual DcmOtherLong *clone() const + { + return new DcmOtherLong(*this); + } + + /** virtual object copying. This method can be used for DcmObject + * and derived classes to get a deep copy of an object. Internally, + * the assignment operator is called if the given DcmObject parameter + * is of the same type as "this" object instance. If not, an error + * is returned. This function permits copying an object by value + * in a virtual way which therefore is different to just calling the + * assignment operator of DcmElement which could result in slicing + * the object. + * @param rhs - [in] The instance to copy from. Has to be of the same + * class type as "this" object + * @return EC_Normal if copying was successful, error otherwise + */ + virtual OFCondition copyFrom(const DcmObject& rhs); + + /** get element type identifier + * @return type identifier of this class (EVR_OL) + */ + virtual DcmEVR ident() const; + + /** check whether stored value conforms to the VR and to the specified VM + * @param vm parameter not used for this VR + * @param oldFormat parameter not used for this VR (only for DA, TM) + * @return always returns EC_Normal, i.e. currently no checks are performed + */ + virtual OFCondition checkValue(const OFString &vm = "", + const OFBool oldFormat = OFFalse); + + /** get value multiplicity + * @return always returns 1 (according to the DICOM standard) + */ + virtual unsigned long getVM(); + + /** write object in XML format to a stream + * @param out output stream to which the XML document is written + * @param flags optional flag used to customize the output (see DCMTypes::XF_xxx) + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition writeXML(STD_NAMESPACE ostream&out, + const size_t flags = 0); +}; + + +#endif // DCVROL_H diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrpn.h b/dcmdata/include/dcmtk/dcmdata/dcvrpn.h index ad42d2c0..d485489c 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrpn.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrpn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2013, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -282,6 +282,8 @@ class DCMTK_DCMDATA_EXPORT DcmPersonName * (See DcmElement::checkVM() for a list of valid values.) * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrsh.h b/dcmdata/include/dcmtk/dcmdata/dcvrsh.h index a5956fdd..98bbb313 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrsh.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrsh.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2013, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -114,6 +114,8 @@ class DCMTK_DCMDATA_EXPORT DcmShortString * (See DcmElement::checkVM() for a list of valid values.) * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrst.h b/dcmdata/include/dcmtk/dcmdata/dcvrst.h index 0595756e..45362494 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrst.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrst.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -124,6 +124,8 @@ class DCMTK_DCMDATA_EXPORT DcmShortText * @param value string value to be checked * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcvruc.h b/dcmdata/include/dcmtk/dcmdata/dcvruc.h index 97f18277..60bbde73 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvruc.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvruc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, OFFIS e.V. + * Copyright (C) 2015-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -113,6 +113,8 @@ class DCMTK_DCMDATA_EXPORT DcmUnlimitedCharacters * (See DcmElement::checkVM() for a list of valid values.) * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrul.h b/dcmdata/include/dcmtk/dcmdata/dcvrul.h index 39eae5e8..be292d0a 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrul.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrul.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -63,7 +63,7 @@ class DCMTK_DCMDATA_EXPORT DcmUnsignedLong * with a given object of the same type. The tag of the element is also * considered as the first component that is compared, followed by the * object types (VR, i.e. DCMTK'S EVR) and the comparison of all value - * components of the object, preferrably in the order declared in the + * components of the object, preferably in the order declared in the * object (if applicable). * @param rhs the right hand side of the comparison * @return 0 if the object values are equal. diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrulup.h b/dcmdata/include/dcmtk/dcmdata/dcvrulup.h index c2c2de2e..8d0f3d5b 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrulup.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrulup.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2011, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -53,10 +53,10 @@ class DCMTK_DCMDATA_EXPORT DcmUnsignedLongOffset */ virtual ~DcmUnsignedLongOffset(); - /** assignment operator. - * @param the offset to be copied + /** assignment operator. + * @param obj the offset to be copied */ - DcmUnsignedLongOffset &operator=(const DcmUnsignedLongOffset &); + DcmUnsignedLongOffset &operator=(const DcmUnsignedLongOffset &obj); /** clone method * @return deep copy of this object @@ -65,7 +65,7 @@ class DCMTK_DCMDATA_EXPORT DcmUnsignedLongOffset { return new DcmUnsignedLongOffset(*this); } - + /** Virtual object copying. This method can be used for DcmObject * and derived classes to get a deep copy of an object. Internally * the assignment operator is called if the given DcmObject parameter @@ -78,7 +78,7 @@ class DCMTK_DCMDATA_EXPORT DcmUnsignedLongOffset * class type as "this" object * @return EC_Normal if copying was successful, error otherwise */ - virtual OFCondition copyFrom(const DcmObject& rhs); + virtual OFCondition copyFrom(const DcmObject& rhs); /** get element type identifier * @return type identifier of this class (internal type: EVR_up) diff --git a/dcmdata/include/dcmtk/dcmdata/dcvrut.h b/dcmdata/include/dcmtk/dcmdata/dcvrut.h index 5ed25d46..56f370fc 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcvrut.h +++ b/dcmdata/include/dcmtk/dcmdata/dcvrut.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -124,6 +124,8 @@ class DCMTK_DCMDATA_EXPORT DcmUnlimitedText * @param value string value to be checked * @param charset character set (according to the value of the SpecificCharacterSet * element) to be used for checking the string value. The default is ASCII (7-bit). + * Currently, the VR checker only supports ASCII (ISO_IR 6) and Latin-1 (ISO_IR 100). + * All other values disable the check of the value representation, e.g. "UNKNOWN". * @return status of the check, EC_Normal if value is correct, an error code otherwise */ static OFCondition checkStringValue(const OFString &value, diff --git a/dcmdata/include/dcmtk/dcmdata/dcxfer.h b/dcmdata/include/dcmtk/dcmdata/dcxfer.h index 8e99e84b..c1ea9070 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcxfer.h +++ b/dcmdata/include/dcmtk/dcmdata/dcxfer.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,6 +26,12 @@ #include "dcmtk/dcmdata/dctypes.h" #include "dcmtk/dcmdata/dcvr.h" +// include this file in doxygen documentation + +/** @file dcxfer.h + * @brief definition and handling of transfer syntaxes + */ + /** enumeration of all DICOM transfer syntaxes known to the toolkit */ typedef enum { diff --git a/dcmdata/libi2d/Makefile.dep b/dcmdata/libi2d/Makefile.dep index 950b0c96..7bf63844 100644 --- a/dcmdata/libi2d/Makefile.dep +++ b/dcmdata/libi2d/Makefile.dep @@ -14,6 +14,8 @@ i2d.o: i2d.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -98,6 +100,8 @@ i2dbmps.o: i2dbmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/libi2d/i2define.h \ @@ -122,6 +126,8 @@ i2djpgs.o: i2djpgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/libi2d/i2dimgs.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -175,6 +181,8 @@ i2dplnsc.o: i2dplnsc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -227,6 +235,8 @@ i2dplsc.o: i2dplsc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -279,6 +289,8 @@ i2dplvlp.o: i2dplvlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ diff --git a/dcmdata/libsrc/CMakeLists.txt b/dcmdata/libsrc/CMakeLists.txt index 02d16bc7..fec02e54 100644 --- a/dcmdata/libsrc/CMakeLists.txt +++ b/dcmdata/libsrc/CMakeLists.txt @@ -7,9 +7,9 @@ DCMTK_ADD_LIBRARY(dcmdata dcostrmf dcostrmz dcpath dcpcache dcpixel dcpixseq dcpxitem dcrleccd dcrlecce dcrlecp dcrledrg dcrleerg dcrlerp dcsequen dcspchrs dcstack dcswap dctag dctagkey dctypes dcuid dcvr dcvrae dcvras dcvrat dcvrcs dcvrda dcvrds dcvrdt - dcvrfd dcvrfl dcvris dcvrlo dcvrlt dcvrobow dcvrod dcvrof dcvrpn dcvrpobw dcvrsh - dcvrsl dcvrss dcvrst dcvrtm dcvruc dcvrui dcvrul dcvrulup dcvrur dcvrus dcvrut - dcwcache dcxfer vrscan vrscanl) + dcvrfd dcvrfl dcvris dcvrlo dcvrlt dcvrobow dcvrod dcvrof dcvrol dcvrpn dcvrpobw + dcvrsh dcvrsl dcvrss dcvrst dcvrtm dcvruc dcvrui dcvrul dcvrulup dcvrur dcvrus + dcvrut dcwcache dcxfer vrscan vrscanl) DCMTK_TARGET_LINK_MODULES(dcmdata ofstd oflog) DCMTK_TARGET_LINK_LIBRARIES(dcmdata ${ZLIB_LIBS}) diff --git a/dcmdata/libsrc/Makefile.dep b/dcmdata/libsrc/Makefile.dep index 6d182f23..b328a01c 100644 --- a/dcmdata/libsrc/Makefile.dep +++ b/dcmdata/libsrc/Makefile.dep @@ -38,7 +38,9 @@ cmdlnarg.o: cmdlnarg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h dcbytstr.o: dcbytstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ @@ -51,6 +53,8 @@ dcbytstr.o: dcbytstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -104,6 +108,8 @@ dcchrstr.o: dcchrstr.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -180,6 +186,8 @@ dccodec.o: dccodec.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -206,6 +214,8 @@ dcdatset.o: dcdatset.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../include/dcmtk/dcmdata/dctypes.h \ @@ -288,7 +298,10 @@ dcdatutl.o: dcdatutl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h ../include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ ../include/dcmtk/dcmdata/dcobject.h ../include/dcmtk/dcmdata/dcerror.h \ @@ -315,6 +328,8 @@ dcddirif.o: dcddirif.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -380,6 +395,8 @@ dcdicdir.o: dcdicdir.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -447,6 +464,8 @@ dcdict.o: dcdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdict.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../include/dcmtk/dcmdata/dchashdi.h ../include/dcmtk/dcmdata/dcdefine.h \ @@ -507,6 +526,8 @@ dcdirrec.o: dcdirrec.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -572,7 +593,8 @@ dcdirrec.o: dcdirrec.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcspchrs.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h dcelem.o: dcelem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -586,6 +608,8 @@ dcelem.o: dcelem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ @@ -650,6 +674,8 @@ dcfilefo.o: dcfilefo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ @@ -709,6 +735,8 @@ dcfilter.o: dcfilter.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ @@ -787,7 +815,9 @@ dchashdi.o: dchashdi.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h dcistrma.o: dcistrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcistrma.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -802,6 +832,8 @@ dcistrma.o: dcistrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -846,6 +878,8 @@ dcistrmb.o: dcistrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -890,6 +924,8 @@ dcistrmf.o: dcistrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -934,6 +970,8 @@ dcistrmz.o: dcistrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -978,6 +1016,8 @@ dcitem.o: dcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1027,13 +1067,14 @@ dcitem.o: dcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvris.h ../include/dcmtk/dcmdata/dcvrlo.h \ ../include/dcmtk/dcmdata/dcchrstr.h ../include/dcmtk/dcmdata/dcvrlt.h \ ../include/dcmtk/dcmdata/dcvrod.h ../include/dcmtk/dcmdata/dcvrof.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrul.h \ ../include/dcmtk/dcmdata/dcvrpn.h ../include/dcmtk/dcmdata/dcvrsh.h \ ../include/dcmtk/dcmdata/dcvrsl.h ../include/dcmtk/dcmdata/dcvrss.h \ ../include/dcmtk/dcmdata/dcvrst.h ../include/dcmtk/dcmdata/dcvrtm.h \ ../include/dcmtk/dcmdata/dcvruc.h ../include/dcmtk/dcmdata/dcvrui.h \ - ../include/dcmtk/dcmdata/dcvrul.h ../include/dcmtk/dcmdata/dcvrulup.h \ - ../include/dcmtk/dcmdata/dcvrur.h ../include/dcmtk/dcmdata/dcvrus.h \ - ../include/dcmtk/dcmdata/dcvrut.h ../include/dcmtk/dcmdata/dcspchrs.h \ + ../include/dcmtk/dcmdata/dcvrulup.h ../include/dcmtk/dcmdata/dcvrur.h \ + ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrut.h \ + ../include/dcmtk/dcmdata/dcspchrs.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ ../../ofstd/include/dcmtk/ofstd/ofutil.h \ @@ -1083,6 +1124,8 @@ dclist.o: dclist.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcmetinf.o: dcmetinf.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1097,6 +1140,8 @@ dcmetinf.o: dcmetinf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcmetinf.h ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../include/dcmtk/dcmdata/dctypes.h \ @@ -1147,6 +1192,8 @@ dcobject.o: dcobject.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ @@ -1223,6 +1270,8 @@ dcostrma.o: dcostrma.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcerror.h @@ -1267,6 +1316,8 @@ dcostrmb.o: dcostrmb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h @@ -1311,6 +1362,8 @@ dcostrmf.o: dcostrmf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h @@ -1355,6 +1408,8 @@ dcostrmz.o: dcostrmz.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcerror.h @@ -1373,6 +1428,8 @@ dcpath.o: dcpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1452,6 +1509,8 @@ dcpcache.o: dcpcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dcstack.h dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1500,6 +1559,8 @@ dcpixel.o: dcpixel.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \ ../include/dcmtk/dcmdata/dccodec.h ../include/dcmtk/dcmdata/dcpixseq.h \ @@ -1521,6 +1582,8 @@ dcpixseq.o: dcpixseq.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ @@ -1602,6 +1665,8 @@ dcpxitem.o: dcpxitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \ ../include/dcmtk/dcmdata/dcofsetl.h ../include/dcmtk/dcmdata/dcswap.h \ @@ -1648,6 +1713,8 @@ dcrleccd.o: dcrleccd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1703,6 +1770,8 @@ dcrlecce.o: dcrlecce.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1756,6 +1825,8 @@ dcrlecp.o: dcrlecp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h @@ -1801,6 +1872,8 @@ dcrledrg.o: dcrledrg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcrleccd.h ../include/dcmtk/dcmdata/dcrlecp.h @@ -1846,6 +1919,8 @@ dcrleerg.o: dcrleerg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcxfer.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcrlecce.h ../include/dcmtk/dcmdata/dcrlecp.h @@ -1895,6 +1970,8 @@ dcrlerp.o: dcrlerp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcsequen.o: dcsequen.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1909,6 +1986,8 @@ dcsequen.o: dcsequen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcsequen.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ @@ -1969,6 +2048,8 @@ dcspchrs.o: dcspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2055,6 +2136,8 @@ dcswap.o: dcswap.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h dctag.o: dctag.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2125,6 +2208,8 @@ dctypes.o: dctypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h dcuid.o: dcuid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ @@ -2167,6 +2252,8 @@ dcuid.o: dcuid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofcrc32.h \ ../../ofstd/include/dcmtk/ofstd/ofnetdb.h dcvr.o: dcvr.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2210,7 +2297,9 @@ dcvr.o: dcvr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h dcvrae.o: dcvrae.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrae.h ../include/dcmtk/dcmdata/dcbytstr.h \ ../include/dcmtk/dcmdata/dctypes.h \ @@ -2252,6 +2341,8 @@ dcvrae.o: dcvrae.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2299,6 +2390,8 @@ dcvras.o: dcvras.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2350,6 +2443,8 @@ dcvrat.o: dcvrat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcvrcs.o: dcvrcs.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2393,6 +2488,8 @@ dcvrcs.o: dcvrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2440,6 +2537,8 @@ dcvrda.o: dcvrda.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2488,6 +2587,8 @@ dcvrds.o: dcvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2535,6 +2636,8 @@ dcvrdt.o: dcvrdt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2557,6 +2660,8 @@ dcvrfd.o: dcvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvrfd.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2603,6 +2708,8 @@ dcvrfl.o: dcvrfl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2678,6 +2785,8 @@ dcvris.o: dcvris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2725,6 +2834,8 @@ dcvrlo.o: dcvrlo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2772,6 +2883,8 @@ dcvrlt.o: dcvrlt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2790,6 +2903,8 @@ dcvrobow.o: dcvrobow.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofuuid.h \ ../include/dcmtk/dcmdata/dcvrobow.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ @@ -2872,9 +2987,11 @@ dcvrod.o: dcvrod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \ - ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcuid.h + ../include/dcmtk/dcmdata/dcswap.h dcvrof.o: dcvrof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofuuid.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -2921,9 +3038,62 @@ dcvrof.o: dcvrof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \ - ../include/dcmtk/dcmdata/dcswap.h ../include/dcmtk/dcmdata/dcuid.h + ../include/dcmtk/dcmdata/dcswap.h +dcvrol.o: dcvrol.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/ofuuid.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrul.h \ + ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcxfer.h \ + ../include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ + ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dcswap.h dcvrpn.o: dcvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrpn.h ../include/dcmtk/dcmdata/dcchrstr.h \ ../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dctypes.h \ @@ -2965,6 +3135,8 @@ dcvrpn.o: dcvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3016,6 +3188,8 @@ dcvrpobw.o: dcvrpobw.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcvrsh.o: dcvrsh.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3059,6 +3233,8 @@ dcvrsh.o: dcvrsh.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3110,6 +3286,8 @@ dcvrsl.o: dcvrsl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcvrss.o: dcvrss.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3157,6 +3335,8 @@ dcvrss.o: dcvrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcvrst.o: dcvrst.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3200,6 +3380,8 @@ dcvrst.o: dcvrst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3246,6 +3428,8 @@ dcvrtm.o: dcvrtm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcbytstr.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3293,6 +3477,8 @@ dcvruc.o: dcvruc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcchrstr.h \ ../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ @@ -3312,6 +3498,8 @@ dcvrui.o: dcvrui.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvrui.h ../include/dcmtk/dcmdata/dcbytstr.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3393,6 +3581,8 @@ dcvrul.o: dcvrul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcvrulup.o: dcvrulup.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3440,6 +3630,8 @@ dcvrulup.o: dcvrulup.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcvrur.o: dcvrur.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3482,6 +3674,8 @@ dcvrur.o: dcvrur.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcbytstr.h \ ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3533,6 +3727,8 @@ dcvrus.o: dcvrus.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h dcvrut.o: dcvrut.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3575,6 +3771,8 @@ dcvrut.o: dcvrut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcchrstr.h \ ../include/dcmtk/dcmdata/dcbytstr.h ../include/dcmtk/dcmdata/dcelem.h \ ../include/dcmtk/dcmdata/dcobject.h \ @@ -3597,6 +3795,8 @@ dcwcache.o: dcwcache.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcistrma.h ../include/dcmtk/dcmdata/dcxfer.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -3671,6 +3871,8 @@ dcxfer.o: dcxfer.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdefine.h ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmdata/dcuid.h @@ -3693,6 +3895,8 @@ mkdeftag.o: mkdeftag.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h @@ -3715,6 +3919,8 @@ mkdictbi.o: mkdictbi.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcdicent.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h @@ -3733,6 +3939,8 @@ vrscan.o: vrscan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ diff --git a/dcmdata/libsrc/Makefile.in b/dcmdata/libsrc/Makefile.in index ab80da90..f8442575 100644 --- a/dcmdata/libsrc/Makefile.in +++ b/dcmdata/libsrc/Makefile.in @@ -42,7 +42,7 @@ objs = dcpixseq.o dcpxitem.o dcuid.o dcerror.o \ dccodec.o dcvrda.o dcvrds.o dcvrdt.o dcvris.o dcvrtm.o dcvrui.o \ dcchrstr.o dcvrlo.o dcvrlt.o dcvrpn.o dcvrsh.o dcvrst.o dcvrobow.o \ dcvrat.o dcvrss.o dcvrus.o dcvrsl.o dcvrul.o dcvrulup.o dcvrfl.o \ - dcvrfd.o dcvrpobw.o dcvrof.o dcvrod.o dcdirrec.o dcdicdir.o \ + dcvrfd.o dcvrpobw.o dcvrof.o dcvrod.o dcvrol.o dcdirrec.o dcdicdir.o \ dcrleccd.o dcrlecce.o dcrlecp.o dcrlerp.o dcrledrg.o dcrleerg.o \ dcdictbi.o dctagkey.o dcdicent.o dcdict.o dcvr.o dchashdi.o cmdlnarg.o \ dcvrut.o dcvrur.o dcvruc.o dctypes.o dcpcache.o dcddirif.o dcistrma.o \ diff --git a/dcmdata/libsrc/dcdatset.cc b/dcmdata/libsrc/dcdatset.cc index 99d227e4..3fcf6c34 100644 --- a/dcmdata/libsrc/dcdatset.cc +++ b/dcmdata/libsrc/dcdatset.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -291,6 +291,7 @@ void DcmDataset::print(STD_NAMESPACE ostream&out, OFCondition DcmDataset::writeXML(STD_NAMESPACE ostream &out, const size_t flags) { + OFCondition l_error = EC_Normal; /* the Native DICOM Model as defined for Application Hosting needs special handling */ if (flags & DCMTypes::XF_useNativeModel) { @@ -318,18 +319,20 @@ OFCondition DcmDataset::writeXML(STD_NAMESPACE ostream &out, elementList->seek(ELP_first); do { dO = elementList->get(); - dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace); - } while (elementList->seek(ELP_next)); + l_error = dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace); + } while (l_error.good() && elementList->seek(ELP_next)); } - /* write XML end tag (depending on output format) */ - if (flags & DCMTypes::XF_useNativeModel) + if (l_error.good()) { - out << "" << OFendl; - } else { - out << "" << OFendl; + /* write XML end tag (depending on output format) */ + if (flags & DCMTypes::XF_useNativeModel) + { + out << "" << OFendl; + } else { + out << "" << OFendl; + } } - /* always report success */ - return EC_Normal; + return l_error; } @@ -366,13 +369,13 @@ OFCondition DcmDataset::read(DcmInputStream &inStream, case EXS_LittleEndianExplicit: case EXS_BigEndianExplicit: case EXS_BigEndianImplicit: - DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of uncompressed dataset"); + DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of uncompressed data set"); OriginalXfer = checkTransferSyntax(inStream); if ((xfer != EXS_Unknown) && (OriginalXfer != xfer)) - DCMDATA_WARN("DcmDataset: Wrong transfer syntax specified, detecting from dataset"); + DCMDATA_WARN("DcmDataset: Wrong transfer syntax specified, detecting from data set"); break; default: - DCMDATA_DEBUG("DcmDataset::read() dataset seems to be compressed, so transfer syntax is not detected"); + DCMDATA_DEBUG("DcmDataset::read() data set seems to be compressed, so transfer syntax is not detected"); OriginalXfer = xfer; break; } @@ -384,7 +387,7 @@ OFCondition DcmDataset::read(DcmInputStream &inStream, /* If the transfer syntax is given, we want to use it. */ if (xfer == EXS_Unknown) { - DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of dataset (because it is unknown)"); + DCMDATA_DEBUG("DcmDataset::read() trying to detect transfer syntax of data set (because it is unknown)"); OriginalXfer = checkTransferSyntax(inStream); } else OriginalXfer = xfer; diff --git a/dcmdata/libsrc/dcdatutl.cc b/dcmdata/libsrc/dcdatutl.cc index 01214ed1..eaabb371 100644 --- a/dcmdata/libsrc/dcdatutl.cc +++ b/dcmdata/libsrc/dcdatutl.cc @@ -1,9 +1,9 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2011-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * - * This software and supporting documentation are maintained by + * This software and supporting documentation were developed by * * OFFIS e.V. * R&D Division Health @@ -11,9 +11,9 @@ * D-26121 Oldenburg, Germany * * - * Module: dcmiod + * Module: dcmdata * - * Author: Michael Onken + * Author: Joerg Riesmeier, Michael Onken * * Purpose: Static helper functionality for dcmdata module * @@ -26,17 +26,17 @@ #include "dcmtk/dcmdata/dcmetinf.h" #include "dcmtk/dcmdata/dcfilefo.h" -// --- static helpers --- +// --- static helpers --- -OFCondition DcmDataUtil::getSOPInstanceFromFile(const OFString &filename, +OFCondition DcmDataUtil::getSOPInstanceFromFile(const OFFilename &filename, OFString &sopClassUID, OFString &sopInstanceUID, OFString &transferSyntaxUID, const E_FileReadMode readMode) { OFCondition status = EC_IllegalParameter; - if (!filename.empty()) + if (!filename.isEmpty()) { DCMDATA_DEBUG("getting SOP Class UID, SOP Instance UID and Transfer Syntax UID from DICOM file"); sopClassUID.clear(); @@ -46,7 +46,7 @@ OFCondition DcmDataUtil::getSOPInstanceFromFile(const OFString &filename, if (readMode != ERM_dataset) { DcmMetaInfo metaInfo; - status = metaInfo.loadFile(filename.c_str()); + status = metaInfo.loadFile(filename); if (status.good()) { // try to get the UIDs from the meta-header @@ -64,7 +64,7 @@ OFCondition DcmDataUtil::getSOPInstanceFromFile(const OFString &filename, if (status.bad() || sopClassUID.empty() || sopInstanceUID.empty() || transferSyntaxUID.empty()) { DcmFileFormat fileformat; - status = fileformat.loadFile(filename.c_str(), EXS_Unknown, EGL_noChange, 256 /* maxReadLength */, readMode); + status = fileformat.loadFile(filename, EXS_Unknown, EGL_noChange, 256 /* maxReadLength */, readMode); if (status.good()) { DcmDataset *dataset = fileformat.getDataset(); diff --git a/dcmdata/libsrc/dcddirif.cc b/dcmdata/libsrc/dcddirif.cc index b038410b..e58b0644 100644 --- a/dcmdata/libsrc/dcddirif.cc +++ b/dcmdata/libsrc/dcddirif.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2015, OFFIS e.V. + * Copyright (C) 2002-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -622,6 +622,9 @@ OFString DicomDirInterface::recordTypeToName(const E_DirRecType recordType) case ERT_SurfaceScan: recordName = "SurfaceScan"; break; + case ERT_Tract: + recordName = "Tract"; + break; default: recordName = "(unknown-directory-record-type)"; break; @@ -660,7 +663,8 @@ static E_DirRecType sopClassToRecordType(const OFString &sopClass) compare(sopClass, UID_RadiopharmaceuticalRadiationDoseSRStorage) || compare(sopClass, UID_SpectaclePrescriptionReportStorage) || compare(sopClass, UID_MacularGridThicknessAndVolumeReportStorage) || - compare(sopClass, UID_ImplantationPlanSRDocumentStorage)) + compare(sopClass, UID_ImplantationPlanSRDocumentStorage) || + compare(sopClass, UID_AcquisitionContextSRStorage)) { result = ERT_SRDocument; } @@ -750,13 +754,18 @@ static E_DirRecType sopClassToRecordType(const OFString &sopClass) result = ERT_ImplantGroup; else if (compare(sopClass, UID_ImplantAssemblyTemplateStorage)) result = ERT_ImplantAssy; - else if (compare(sopClass, UID_RTBeamsDeliveryInstructionStorage)) + else if (compare(sopClass, UID_RTBeamsDeliveryInstructionStorage) || + compare(sopClass, UID_RTBrachyApplicationSetupDeliveryInstructionStorage)) + { result = ERT_Plan; + } else if (compare(sopClass, UID_SurfaceScanMeshStorage) || compare(sopClass, UID_SurfaceScanPointCloudStorage)) { result = ERT_SurfaceScan; } + else if (compare(sopClass, UID_TractographyResultsStorage)) + result = ERT_Tract; return result; } @@ -943,6 +952,7 @@ static OFCondition insertSortedUnder(DcmDirectoryRecord *parent, case ERT_Surface: case ERT_Measurement: case ERT_SurfaceScan: + case ERT_Tract: /* try to insert based on InstanceNumber */ result = insertWithISCriterion(parent, child, DCM_InstanceNumber); break; @@ -1494,6 +1504,9 @@ OFCondition DicomDirInterface::checkSOPClassAndXfer(DcmMetaInfo *metainfo, case AP_GeneralPurposeBDMPEG2MPatHL: case AP_GeneralPurposeBDMPEG4HPatLV41: case AP_GeneralPurposeBDMPEG4HPatLV41BD: + case AP_GeneralPurposeBDMPEG4HPatLV42_2D: + case AP_GeneralPurposeBDMPEG4HPatLV42_3D: + case AP_GeneralPurposeBDMPEG4StereoHPatLV42: case AP_USBandFlashJPEG: case AP_USBandFlashJPEG2000: case AP_GeneralPurposeMIME: @@ -1508,6 +1521,12 @@ OFCondition DicomDirInterface::checkSOPClassAndXfer(DcmMetaInfo *metainfo, expectedTransferSyntax = UID_MPEG4HighProfileLevel4_1TransferSyntax; else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) expectedTransferSyntax = UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax; + else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) + expectedTransferSyntax = UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax; + else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) + expectedTransferSyntax = UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax; + else if (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) + expectedTransferSyntax = UID_MPEG4StereoHighProfileLevel4_2TransferSyntax; /* is it an image ? */ for (int i = 0; i < numberOfDcmImageSOPClassUIDs && !found; i++) found = compare(mediaSOPClassUID, dcmImageSOPClassUIDs[i]); @@ -1516,10 +1535,12 @@ OFCondition DicomDirInterface::checkSOPClassAndXfer(DcmMetaInfo *metainfo, { found = compare(mediaSOPClassUID, UID_RTDoseStorage) || compare(mediaSOPClassUID, UID_RTStructureSetStorage) || - compare(mediaSOPClassUID, UID_RTBeamsTreatmentRecordStorage) || compare(mediaSOPClassUID, UID_RTPlanStorage) || - compare(mediaSOPClassUID, UID_RTBrachyTreatmentRecordStorage) || compare(mediaSOPClassUID, UID_RTTreatmentSummaryRecordStorage) || + compare(mediaSOPClassUID, UID_RTBeamsTreatmentRecordStorage) || + compare(mediaSOPClassUID, UID_RTBeamsDeliveryInstructionStorage) || + compare(mediaSOPClassUID, UID_RTBrachyTreatmentRecordStorage) || + compare(mediaSOPClassUID, UID_RTBrachyApplicationSetupDeliveryInstructionStorage) || compare(mediaSOPClassUID, UID_RTIonPlanStorage) || compare(mediaSOPClassUID, UID_RTIonBeamsTreatmentRecordStorage); } @@ -1539,7 +1560,8 @@ OFCondition DicomDirInterface::checkSOPClassAndXfer(DcmMetaInfo *metainfo, compare(mediaSOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) || compare(mediaSOPClassUID, UID_SpectaclePrescriptionReportStorage) || compare(mediaSOPClassUID, UID_MacularGridThicknessAndVolumeReportStorage) || - compare(mediaSOPClassUID, UID_ImplantationPlanSRDocumentStorage); + compare(mediaSOPClassUID, UID_ImplantationPlanSRDocumentStorage) || + compare(mediaSOPClassUID, UID_AcquisitionContextSRStorage); } /* is it one of the waveform SOP Classes? */ if (!found) @@ -1619,7 +1641,8 @@ OFCondition DicomDirInterface::checkSOPClassAndXfer(DcmMetaInfo *metainfo, compare(mediaSOPClassUID, UID_RealWorldValueMappingStorage) || compare(mediaSOPClassUID, UID_HangingProtocolStorage) || compare(mediaSOPClassUID, UID_StereometricRelationshipStorage) || - compare(mediaSOPClassUID, UID_ColorPaletteStorage); + compare(mediaSOPClassUID, UID_ColorPaletteStorage) || + compare(mediaSOPClassUID, UID_TractographyResultsStorage); } /* the following SOP classes have been retired with previous editions of the DICOM standard */ if (!found && RetiredSOPClassSupport) @@ -1805,6 +1828,45 @@ OFCondition DicomDirInterface::checkSOPClassAndXfer(DcmMetaInfo *metainfo, OFSTRINGSTREAM_FREESTR(tmpString) } break; + case AP_GeneralPurposeBDMPEG4HPatLV42_2D: + case AP_GeneralPurposeBDMPEG4HPatLV42_3D: + case AP_GeneralPurposeBDMPEG4StereoHPatLV42: + /* compare with expected transfer syntax */ + found = compare(transferSyntax, expectedTransferSyntax); + if (found) + { + /* check for multi-frame composite IOD */ + if (!isMultiframeStorageSOPClass(mediaSOPClassUID)) + { + /* create error message */ + OFOStringStream oss; + oss << xferName << " only for multi-frame composite IODs: " << filename + << OFStringStream_ends; + OFSTRINGSTREAM_GETSTR(oss, tmpString) + if (TransferSyntaxCheck) + { + DCMDATA_ERROR(tmpString); + result = EC_ApplicationProfileViolated; + } else + DCMDATA_WARN(tmpString); + OFSTRINGSTREAM_FREESTR(tmpString) + } + } else { + const OFString expXferName = dcmFindNameOfUID(expectedTransferSyntax.c_str(), ""); + /* create error message */ + OFOStringStream oss; + oss << expXferName << " expected but " << xferName << " found: " << filename + << OFStringStream_ends; + OFSTRINGSTREAM_GETSTR(oss, tmpString) + if (TransferSyntaxCheck) + { + DCMDATA_ERROR(tmpString); + result = EC_ApplicationProfileViolated; + } else + DCMDATA_WARN(tmpString); + OFSTRINGSTREAM_FREESTR(tmpString) + } + break; case AP_XrayAngiographicDVD: if (compare(mediaSOPClassUID, UID_XRayAngiographicImageStorage)) { @@ -2595,6 +2657,7 @@ OFCondition DicomDirInterface::checkMandatoryAttributes(DcmMetaInfo *metainfo, case ERT_ValueMap: case ERT_Surface: case ERT_Measurement: + case ERT_Tract: if (!checkExistsWithValue(dataset, DCM_InstanceNumber, filename)) result = EC_InvalidTag; if (!checkExistsWithValue(dataset, DCM_ContentDate, filename)) @@ -2629,6 +2692,9 @@ OFCondition DicomDirInterface::checkMandatoryAttributes(DcmMetaInfo *metainfo, (ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) || (ApplicationProfile == AP_USBandFlashJPEG) || (ApplicationProfile == AP_USBandFlashJPEG2000) || (ApplicationProfile == AP_MPEG2MPatMLDVD)) @@ -2744,7 +2810,7 @@ OFCondition DicomDirInterface::loadAndCheckDicomFile(const OFFilename &filename, /* check for empty dataset */ if ((dataset == NULL) || (dataset->card() == 0)) { - DCMDATA_ERROR("file contains no data (no dataset): " << filename); + DCMDATA_ERROR("file contains no data (no data set): " << filename); result = EC_CorruptedData; } /* only proceed if previous checks have been passed */ @@ -2858,6 +2924,7 @@ OFBool DicomDirInterface::recordMatchesDataset(DcmDirectoryRecord *record, case ERT_ImplantAssy: case ERT_Plan: case ERT_SurfaceScan: + case ERT_Tract: /* The attribute ReferencedSOPInstanceUID is automatically * put into a Directory Record when a filename is present. */ @@ -2918,6 +2985,9 @@ DcmDirectoryRecord *DicomDirInterface::buildPatientRecord(DcmDirectoryRecord *re (ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) || (ApplicationProfile == AP_USBandFlashJPEG) || (ApplicationProfile == AP_USBandFlashJPEG2000) || (ApplicationProfile == AP_MPEG2MPatMLDVD)) @@ -3008,6 +3078,9 @@ DcmDirectoryRecord *DicomDirInterface::buildSeriesRecord(DcmDirectoryRecord *rec (ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) || (ApplicationProfile == AP_USBandFlashJPEG) || (ApplicationProfile == AP_USBandFlashJPEG2000) || (ApplicationProfile == AP_MPEG2MPatMLDVD)) @@ -3595,6 +3668,9 @@ DcmDirectoryRecord *DicomDirInterface::buildSpectroscopyRecord(DcmDirectoryRecor (ApplicationProfile == AP_GeneralPurposeBDMPEG2MPatHL) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41) || (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV41BD) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_2D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4HPatLV42_3D) || + (ApplicationProfile == AP_GeneralPurposeBDMPEG4StereoHPatLV42) || (ApplicationProfile == AP_USBandFlashJPEG) || (ApplicationProfile == AP_USBandFlashJPEG2000)) { @@ -4006,6 +4082,40 @@ DcmDirectoryRecord *DicomDirInterface::buildSurfaceScanRecord(DcmDirectoryRecord } +// create or update tract record and copy required values from dataset +DcmDirectoryRecord *DicomDirInterface::buildTractRecord(DcmDirectoryRecord *record, + DcmFileFormat *fileformat, + const OFString &referencedFileID, + const OFFilename &sourceFilename) +{ + /* create new surface record */ + if (record == NULL) + record = new DcmDirectoryRecord(ERT_Tract, referencedFileID.c_str(), sourceFilename, fileformat); + if (record != NULL) + { + /* check whether new record is ok */ + if (record->error().good()) + { + DcmDataset *dataset = fileformat->getDataset(); + /* copy attribute values from dataset to surface record */ + copyElementType1(dataset, DCM_ContentDate, record, sourceFilename); + copyElementType1(dataset, DCM_ContentTime, record, sourceFilename); + copyElementType1(dataset, DCM_InstanceNumber, record, sourceFilename); + copyElementType1(dataset, DCM_ContentLabel, record, sourceFilename); + copyElementType2(dataset, DCM_ContentDescription, record, sourceFilename); + copyElementType2(dataset, DCM_ContentCreatorName, record, sourceFilename); + } else { + printRecordErrorMessage(record->error(), ERT_Tract, "create"); + /* free memory */ + delete record; + record = NULL; + } + } else + printRecordErrorMessage(EC_MemoryExhausted, ERT_Tract, "create"); + return record; +} + + // create or update image record and copy required values from dataset DcmDirectoryRecord *DicomDirInterface::buildImageRecord(DcmDirectoryRecord *record, DcmFileFormat *fileformat, @@ -4042,6 +4152,9 @@ DcmDirectoryRecord *DicomDirInterface::buildImageRecord(DcmDirectoryRecord *reco case AP_GeneralPurposeBDMPEG2MPatHL: case AP_GeneralPurposeBDMPEG4HPatLV41: case AP_GeneralPurposeBDMPEG4HPatLV41BD: + case AP_GeneralPurposeBDMPEG4HPatLV42_2D: + case AP_GeneralPurposeBDMPEG4HPatLV42_3D: + case AP_GeneralPurposeBDMPEG4StereoHPatLV42: case AP_USBandFlashJPEG: case AP_USBandFlashJPEG2000: copyElementType1(dataset, DCM_Rows, record, sourceFilename); @@ -4430,6 +4543,9 @@ DcmDirectoryRecord *DicomDirInterface::addRecord(DcmDirectoryRecord *parent, case ERT_SurfaceScan: record = buildSurfaceScanRecord(record, fileformat, referencedFileID, sourceFilename); break; + case ERT_Tract: + record = buildTractRecord(record, fileformat, referencedFileID, sourceFilename); + break; default: /* it can only be an image */ record = buildImageRecord(record, fileformat, referencedFileID, sourceFilename); @@ -4611,6 +4727,7 @@ void DicomDirInterface::inventMissingInstanceLevelAttributes(DcmDirectoryRecord case ERT_Measurement: case ERT_Plan: case ERT_SurfaceScan: + case ERT_Tract: /* nothing to do */ break; default: @@ -5066,6 +5183,15 @@ const char *DicomDirInterface::getProfileName(const E_ApplicationProfile profile case AP_GeneralPurposeBDMPEG4HPatLV41BD: result = "STD-GEN-BD-MPEG4-HPLV41BD"; break; + case AP_GeneralPurposeBDMPEG4HPatLV42_2D: + result = "STD-GEN-BD-MPEG4-HPLV42-2D"; + break; + case AP_GeneralPurposeBDMPEG4HPatLV42_3D: + result = "STD-GEN-BD-MPEG4-HPLV42-3D"; + break; + case AP_GeneralPurposeBDMPEG4StereoHPatLV42: + result = "STD-GEN-BD-MPEG4-SHPLV42"; + break; case AP_USBandFlashJPEG: result = "STD-GEN-USB/MMC/CF/SD-JPEG"; break; diff --git a/dcmdata/libsrc/dcdictbi.cc b/dcmdata/libsrc/dcdictbi.cc index e858ec4b..5f98fe2c 100644 --- a/dcmdata/libsrc/dcdictbi.cc +++ b/dcmdata/libsrc/dcdictbi.cc @@ -4,7 +4,7 @@ ** ** User: joergr ** Host: thinkpad -** Date: 2015-09-18 11:18:13 +** Date: 2016-01-25 17:53:36 ** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdictbi ** ** From: ../data/dicom.dic @@ -520,6 +520,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_AE, "RetrieveAETitle", 1, -1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0008, 0x0055, 0x0008, 0x0055, + EVR_AE, "StationAETitle", 1, 1, "CP_1516", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0008, 0x0056, 0x0008, 0x0056, EVR_CS, "InstanceAvailability", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -900,6 +904,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "ReferencedSOPSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0008, 0x119a, 0x0008, 0x119a, + EVR_SQ, "OtherFailuresSequence", 1, 1, "CP_1364", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0008, 0x1200, 0x0008, 0x1200, EVR_SQ, "StudiesContainingOtherReferencedInstancesSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -1966,6 +1974,18 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "IssuerOfPatientIDQualifiersSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0010, 0x0026, 0x0010, 0x0026, + EVR_SQ, "SourcePatientGroupIdentificationSequence", 1, 1, "CP_1457", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0027, 0x0010, 0x0027, + EVR_SQ, "GroupOfPatientsIdentificationSequence", 1, 1, "CP_1457", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0028, 0x0010, 0x0028, + EVR_US, "SubjectRelativePositionInImage", 3, 3, "CP_1457", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0010, 0x0030, 0x0010, 0x0030, EVR_DA, "PatientBirthDate", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -1998,6 +2018,38 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "QualityControlSubjectTypeCodeSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0010, 0x0212, 0x0010, 0x0212, + EVR_UC, "StrainDescription", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0213, 0x0010, 0x0213, + EVR_LO, "StrainNomenclature", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0214, 0x0010, 0x0214, + EVR_LO, "StrainStockNumber", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0215, 0x0010, 0x0215, + EVR_SQ, "StrainSourceRegistryCodeSequence", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0216, 0x0010, 0x0216, + EVR_SQ, "StrainStockSequence", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0217, 0x0010, 0x0217, + EVR_LO, "StrainSource", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0218, 0x0010, 0x0218, + EVR_UT, "StrainAdditionalInformation", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0010, 0x0219, 0x0010, 0x0219, + EVR_SQ, "StrainCodeSequence", 1, 1, "CP_1478", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0010, 0x1000, 0x0010, 0x1000, EVR_LO, "OtherPatientIDs", 1, -1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -20654,6 +20706,14 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "UsedSegmentsSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0062, 0x0020, 0x0062, 0x0020, + EVR_UT, "TrackingID", 1, 1, "CP_1496", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0062, 0x0021, 0x0062, 0x0021, + EVR_UI, "TrackingUID", 1, 1, "CP_1496", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0064, 0x0002, 0x0064, 0x0002, EVR_SQ, "DeformableRegistrationSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -20875,19 +20935,83 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0066, 0x0040, 0x0066, 0x0040, - EVR_UL, "LongPrimitivePointIndexList", 1, -1, "DICOM", + EVR_OL, "LongPrimitivePointIndexList", 1, 1, "CP_1499", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0066, 0x0041, 0x0066, 0x0041, - EVR_UL, "LongTrianglePointIndexList", 3, -1, "DICOM", + EVR_OL, "LongTrianglePointIndexList", 1, 1, "CP_1499", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0066, 0x0042, 0x0066, 0x0042, - EVR_UL, "LongEdgePointIndexList", 2, -1, "DICOM", + EVR_OL, "LongEdgePointIndexList", 1, 1, "CP_1499", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0066, 0x0043, 0x0066, 0x0043, - EVR_UL, "LongVertexPointIndexList", 1, -1, "DICOM", + EVR_OL, "LongVertexPointIndexList", 1, 1, "CP_1499", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0101, 0x0066, 0x0101, + EVR_SQ, "TrackSetSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0102, 0x0066, 0x0102, + EVR_SQ, "TrackSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0103, 0x0066, 0x0103, + EVR_OW, "RecommendedDisplayCIELabValueList", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0104, 0x0066, 0x0104, + EVR_SQ, "TrackingAlgorithmIdentificationSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0105, 0x0066, 0x0105, + EVR_UL, "TrackSetNumber", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0106, 0x0066, 0x0106, + EVR_LO, "TrackSetLabel", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0107, 0x0066, 0x0107, + EVR_UT, "TrackSetDescription", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0108, 0x0066, 0x0108, + EVR_SQ, "TrackSetAnatomicalTypeCodeSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0121, 0x0066, 0x0121, + EVR_SQ, "MeasurementsSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0124, 0x0066, 0x0124, + EVR_SQ, "TrackSetStatisticsSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0125, 0x0066, 0x0125, + EVR_OF, "FloatingPointValues", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0129, 0x0066, 0x0129, + EVR_OL, "TrackPointIndexList", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0130, 0x0066, 0x0130, + EVR_SQ, "TrackStatisticsSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0132, 0x0066, 0x0132, + EVR_SQ, "MeasurementValuesSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0133, 0x0066, 0x0133, + EVR_SQ, "DiffusionAcquisitionCodeSequence", 1, 1, "Supplement_181", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0066, 0x0134, 0x0066, 0x0134, + EVR_SQ, "DiffusionModelCodeSequence", 1, 1, "Supplement_181", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x0068, 0x6210, 0x0068, 0x6210, @@ -21530,6 +21654,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "MatrixSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0070, 0x030b, 0x0070, 0x030b, + EVR_FD, "FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix", 16, 16, "CP_1487", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0070, 0x030c, 0x0070, 0x030c, EVR_CS, "FrameOfReferenceTransformationMatrixType", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -22446,6 +22574,62 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_FD, "DoubleExposureFieldDelta", 4, 4, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0074, 0x1401, 0x0074, 0x1401, + EVR_SQ, "BrachyTaskSequence", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1402, 0x0074, 0x1402, + EVR_DS, "ContinuationStartTotalReferenceAirKerma", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1403, 0x0074, 0x1403, + EVR_DS, "ContinuationEndTotalReferenceAirKerma", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1404, 0x0074, 0x1404, + EVR_IS, "ContinuationPulseNumber", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1405, 0x0074, 0x1405, + EVR_SQ, "ChannelDeliveryOrderSequence", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1406, 0x0074, 0x1406, + EVR_IS, "ReferencedChannelNumber", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1407, 0x0074, 0x1407, + EVR_DS, "StartCumulativeTimeWeight", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1408, 0x0074, 0x1408, + EVR_DS, "EndCumulativeTimeWeight", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x1409, 0x0074, 0x1409, + EVR_SQ, "OmittedChannelSequence", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x140a, 0x0074, 0x140a, + EVR_CS, "ReasonForChannelOmission", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x140b, 0x0074, 0x140b, + EVR_LO, "ReasonForChannelOmissionDescription", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x140c, 0x0074, 0x140c, + EVR_IS, "ChannelDeliveryOrderIndex", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x140d, 0x0074, 0x140d, + EVR_SQ, "ChannelDeliveryContinuationSequence", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0074, 0x140e, 0x0074, 0x140e, + EVR_SQ, "OmittedApplicationSetupSequence", 1, 1, "Supplement_184", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0076, 0x0001, 0x0076, 0x0001, EVR_LO, "ImplantAssemblyTemplateName", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -25004,6 +25188,18 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_FL, "AverageBeamDosePointSSD", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x0090, 0x300a, 0x0090, + EVR_CS, "BeamDoseType", 1, 1, "CP_1431", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0091, 0x300a, 0x0091, + EVR_DS, "AlternateBeamDose", 1, 1, "CP_1431", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0092, 0x300a, 0x0092, + EVR_CS, "AlternateBeamDoseType", 1, 1, "CP_1431", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300a, 0x00a0, 0x300a, 0x00a0, EVR_IS, "NumberOfBrachyApplicationSetups", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -25888,6 +26084,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_CS, "ScanMode", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x0309, 0x300a, 0x0309, + EVR_CS, "ModulatedScanModeType", 1, 1, "CP_1432", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300a, 0x030a, 0x300a, 0x030a, EVR_FL, "VirtualSourceAxisDistances", 2, 2, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -25996,6 +26196,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_LO, "PatientSupportAccessoryCode", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x0355, 0x300a, 0x0355, + EVR_LO, "TrayAccessoryCode", 1, 1, "CP_1504", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300a, 0x0356, 0x300a, 0x0356, EVR_FL, "FixationLightAzimuthalAngle", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -26208,6 +26412,54 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_SQ, "DeviceMotionParameterCodeSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x300a, 0x0501, 0x300a, 0x0501, + EVR_FL, "DistalDepthFraction", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0502, 0x300a, 0x0502, + EVR_FL, "DistalDepth", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0503, 0x300a, 0x0503, + EVR_FL, "NominalRangeModulatioFractions", 2, 2, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0504, 0x300a, 0x0504, + EVR_FL, "NominalRangeModulatedRegionDepths", 2, 2, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0505, 0x300a, 0x0505, + EVR_SQ, "DepthDoseParametersSequence", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0506, 0x300a, 0x0506, + EVR_SQ, "DeliveredDepthDoseParametersSequence", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0507, 0x300a, 0x0507, + EVR_FL, "DeliveredDistalDepthFraction", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0508, 0x300a, 0x0508, + EVR_FL, "DeliveredDistalDepth", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0509, 0x300a, 0x0509, + EVR_FL, "DeliveredNominalRangeModulationFractions", 2, 2, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0510, 0x300a, 0x0510, + EVR_FL, "DeliveredNominalRangeModulatedRegionDepths", 2, 2, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0511, 0x300a, 0x0511, + EVR_CS, "DeliveredReferenceDoseDefinition", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x300a, 0x0512, 0x300a, 0x0512, + EVR_CS, "ReferenceDoseDefinition", 1, 1, "CP_1460", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x300c, 0x0002, 0x300c, 0x0002, EVR_SQ, "ReferencedRTPlanSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, diff --git a/dcmdata/libsrc/dcdirrec.cc b/dcmdata/libsrc/dcdirrec.cc index cad9da7c..e863e259 100644 --- a/dcmdata/libsrc/dcdirrec.cc +++ b/dcmdata/libsrc/dcdirrec.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -101,7 +101,8 @@ static const char *DRTypeNames[] = "IMPLANT GROUP", "IMPLANT ASSY", "PLAN", - "SURFACE SCAN" + "SURFACE SCAN", + "TRACT" }; static const short DIM_OF_DRTypeNames = OFstatic_cast(short, (sizeof(DRTypeNames) / sizeof(DRTypeNames[0]))); @@ -341,7 +342,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, break; } break; - case ERT_FilmBox: + case ERT_FilmBox: // retired switch (lowerRecord) { case ERT_ImageBox: @@ -353,7 +354,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, break; } break; - case ERT_FilmSession: + case ERT_FilmSession: // retired switch (lowerRecord) { case ERT_FilmBox: @@ -378,7 +379,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, break; } break; - case ERT_PrintQueue: + case ERT_PrintQueue: // retired switch (lowerRecord) { case ERT_FilmSession: @@ -390,7 +391,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, break; } break; - case ERT_Results: + case ERT_Results: // retired switch (lowerRecord) { case ERT_Interpretation: @@ -430,6 +431,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, case ERT_Measurement: case ERT_Plan: case ERT_SurfaceScan: + case ERT_Tract: case ERT_Private: l_error = EC_Normal; break; @@ -454,7 +456,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, break; } break; - case ERT_Topic: + case ERT_Topic: // retired switch (lowerRecord) { case ERT_Curve: @@ -486,7 +488,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, break; } break; - case ERT_Mrdr: + case ERT_Mrdr: // retired l_error = EC_IllegalCall; break; case ERT_Curve: @@ -524,6 +526,7 @@ OFCondition DcmDirectoryRecord::checkHierarchy(const E_DirRecType upperRecord, case ERT_ImplantAssy: case ERT_Plan: case ERT_SurfaceScan: + case ERT_Tract: case ERT_Private: switch (lowerRecord) { @@ -593,7 +596,7 @@ E_DirRecType DcmDirectoryRecord::lookForRecordType() static void hostToDicomFilename(char *fname) { /* - ** Massage filename into dicom format. + ** Massage filename into DICOM format. ** Eliminate any invalid characters. ** Most commonly there is a '.' at the end of a filename. */ @@ -1254,10 +1257,11 @@ void DcmDirectoryRecord::print(STD_NAMESPACE ostream&out, OFCondition DcmDirectoryRecord::writeXML(STD_NAMESPACE ostream &out, const size_t flags) { + OFCondition l_error = EC_Normal; if (flags & DCMTypes::XF_useNativeModel) { /* in Native DICOM Model, there is no concept of a DICOMDIR */ - return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error, + l_error = makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error, "Cannot convert Directory Record to Native DICOM Model"); } else { /* XML start tag for "item" */ @@ -1278,16 +1282,18 @@ OFCondition DcmDirectoryRecord::writeXML(STD_NAMESPACE ostream &out, elementList->seek(ELP_first); do { dO = elementList->get(); - dO->writeXML(out, flags); - } while (elementList->seek(ELP_next)); + l_error = dO->writeXML(out, flags); + } while (l_error.good() && elementList->seek(ELP_next)); + } + if (l_error.good()) + { + if (lowerLevelList->card() > 0) + lowerLevelList->writeXML(out, flags); + /* XML end tag for "item" */ + out << "" << OFendl; } - if (lowerLevelList->card() > 0) - lowerLevelList->writeXML(out, flags); - /* XML end tag for "item" */ - out << "" << OFendl; - /* always report success */ - return EC_Normal; } + return l_error; } diff --git a/dcmdata/libsrc/dcelem.cc b/dcmdata/libsrc/dcelem.cc index b1b67632..2b577153 100644 --- a/dcmdata/libsrc/dcelem.cc +++ b/dcmdata/libsrc/dcelem.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -1465,7 +1465,7 @@ void DcmElement::writeXMLStartTag(STD_NAMESPACE ostream &out, DCMDATA_WARN("Cannot write private creator for group 0x" << STD_NAMESPACE hex << STD_NAMESPACE setfill('0') << STD_NAMESPACE setw(4) << tag.getGTag() << STD_NAMESPACE dec << STD_NAMESPACE setfill(' ') - << " to XML output: Not present in dataset"); + << " to XML output: Not present in data set"); } } } else { diff --git a/dcmdata/libsrc/dcfilefo.cc b/dcmdata/libsrc/dcfilefo.cc index 322c96a3..b757820a 100644 --- a/dcmdata/libsrc/dcfilefo.cc +++ b/dcmdata/libsrc/dcfilefo.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -181,6 +181,7 @@ void DcmFileFormat::print(STD_NAMESPACE ostream &out, OFCondition DcmFileFormat::writeXML(STD_NAMESPACE ostream &out, const size_t flags) { + OFCondition l_error = EC_Normal; if (flags & DCMTypes::XF_useNativeModel) { /* in Native DICOM Model, there is no concept of a "file format" */ @@ -188,13 +189,12 @@ OFCondition DcmFileFormat::writeXML(STD_NAMESPACE ostream &out, if (dset != NULL) { /* write content of dataset */ - return dset->writeXML(out, flags); + l_error = dset->writeXML(out, flags); } else { - return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error, - "Cannot convert to Native DICOM Model: No dataset present"); + l_error = makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error, + "Cannot convert to Native DICOM Model: No data set present"); } } else { - OFCondition result = EC_CorruptedData; /* XML start tag for "file-format" */ out << "seek(ELP_first); do { dO = itemList->get(); - dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace); - } while (itemList->seek(ELP_next)); - result = EC_Normal; + l_error = dO->writeXML(out, flags & ~DCMTypes::XF_useXMLNamespace); + } while (l_error.good() && itemList->seek(ELP_next)); + } else { + /* a file format should never be empty */ + l_error = EC_CorruptedData; + } + if (l_error.good()) + { + /* XML end tag for "file-format" */ + out << "" << OFendl; } - /* XML end tag for "file-format" */ - out << "" << OFendl; - return result; } + return l_error; } diff --git a/dcmdata/libsrc/dcitem.cc b/dcmdata/libsrc/dcitem.cc index 2e55c64c..5494c9d1 100644 --- a/dcmdata/libsrc/dcitem.cc +++ b/dcmdata/libsrc/dcitem.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -54,6 +54,7 @@ #include "dcmtk/dcmdata/dcvrobow.h" #include "dcmtk/dcmdata/dcvrod.h" #include "dcmtk/dcmdata/dcvrof.h" +#include "dcmtk/dcmdata/dcvrol.h" #include "dcmtk/dcmdata/dcvrpn.h" #include "dcmtk/dcmdata/dcvrsh.h" #include "dcmtk/dcmdata/dcvrsl.h" @@ -176,7 +177,7 @@ int DcmItem::compare(const DcmItem& rhs) const if (rhsVal) { int result = val->compare(*rhsVal); - if (val != 0) + if (result != 0) { return result; } @@ -494,6 +495,7 @@ void DcmItem::print(STD_NAMESPACE ostream &out, OFCondition DcmItem::writeXML(STD_NAMESPACE ostream &out, const size_t flags) { + OFCondition l_error = EC_Normal; if (!(flags & DCMTypes::XF_useNativeModel)) { /* XML start tag for "item" */ @@ -513,16 +515,18 @@ OFCondition DcmItem::writeXML(STD_NAMESPACE ostream &out, elementList->seek(ELP_first); do { dO = elementList->get(); - dO->writeXML(out, flags); - } while (elementList->seek(ELP_next)); + l_error = dO->writeXML(out, flags); + } while (l_error.good() && elementList->seek(ELP_next)); } - if (!(flags & DCMTypes::XF_useNativeModel)) + if (l_error.good()) { - /* XML end tag for "item" */ - out << "" << OFendl; + if (!(flags & DCMTypes::XF_useNativeModel)) + { + /* XML end tag for "item" */ + out << "" << OFendl; + } } - /* always report success */ - return EC_Normal; + return l_error; } @@ -1010,7 +1014,7 @@ OFCondition DcmItem::readTagAndLength(DcmInputStream &inStream, if (newEVR != vr.getEVR()) { /* ignore explicit VR in dataset if tag is defined in data dictionary */ - DCMDATA_DEBUG("DcmItem::readTagAndLength() ignoring explicit VR in dataset (" + DCMDATA_DEBUG("DcmItem::readTagAndLength() ignoring explicit VR in data set (" << vr.getVRName() << ") for element " << newTag << ", using the one from data dictionary (" << newTag.getVRName() << ")"); } @@ -1179,7 +1183,7 @@ OFCondition DcmItem::readSubElement(DcmInputStream &inStream, { // produce diagnostics DCMDATA_WARN("DcmItem: Element " << newTag - << " found twice in one dataset/item, ignoring second entry"); + << " found twice in one data set or item, ignoring second entry"); delete subElem; } } @@ -1291,9 +1295,9 @@ OFCondition DcmItem::read(DcmInputStream & inStream, /* if desired, accept premature sequence delimitation item and continue as if item has been completely read. */ /* The stream position has been rewound to the start position of the sequence end */ /* delimiter tag in order to let DcmSequenceOfItems handle the delimiter in the reading routine. */ - else if ( (errorFlag == EC_PrematureSequDelimitationItem) && dcmIgnoreParsingErrors.get() ) + else if ((errorFlag == EC_PrematureSequDelimitationItem) && dcmIgnoreParsingErrors.get()) { - DCMDATA_WARN("DcmItem: Sequence delimitation occured before all bytes announced by explicit item length could be read" + DCMDATA_WARN("DcmItem: Sequence delimitation occurred before all bytes announced by explicit item length could be read" << ", trying to continue as if item was completely read"); errorFlag = EC_ItemEnd; // make sure that error code leads to normal return from item reading loop break; // we are completed with the item since sequence is closed @@ -1320,9 +1324,11 @@ OFCondition DcmItem::read(DcmInputStream & inStream, /* for this element; hence lastElementComplete is true again */ if (errorFlag.good()) lastElementComplete = OFTrue; + /* in data sets, group 0x0000 to 0x0003, 0x0005, 0x0007 and 0xFFFF are not allowed */ + if ((newTag.getGroup() == 0x0000) || (newTag.getGroup() == 0x0002) || !newTag.hasValidGroup()) + DCMDATA_WARN("DcmItem: Invalid Element " << newTag << " found in data set"); } - } else - { + } else { /* if lastElementComplete is false, we have only read the current element's */ /* tag and length (and possibly VR) information as well as maybe some data */ /* data value information. We need to continue reading the data value */ @@ -1347,7 +1353,7 @@ OFCondition DcmItem::read(DcmInputStream & inStream, ident() == EVR_dataset) { DCMDATA_WARN("DcmItem: Element " << newTag.getTagName() << " " << newTag - << " encountered, skipping rest of dataset"); + << " encountered, skipping rest of data set"); readStopElem = OFTrue; } } @@ -2290,15 +2296,18 @@ OFCondition newDicomElement(DcmElement *&newElement, break; case EVR_up : // for (0004,eeee) according to DICOM standard case EVR_UL : - { - // generate tag with VR from dictionary! - DcmTag ulupTag(tag.getXTag()); - if (ulupTag.getEVR() == EVR_up) - newElement = new DcmUnsignedLongOffset(ulupTag, length); - else - newElement = new DcmUnsignedLong(tag, length); - } - break; + { + // generate tag with VR from dictionary! + DcmTag ulupTag(tag.getXTag()); + if (ulupTag.getEVR() == EVR_up) + newElement = new DcmUnsignedLongOffset(ulupTag, length); + else + newElement = new DcmUnsignedLong(tag, length); + } + break; + case EVR_OL : + newElement = new DcmOtherLong(tag, length); + break; case EVR_FL : newElement = new DcmFloatingPointSingle(tag, length); break; @@ -2853,6 +2862,7 @@ OFCondition DcmItem::findAndGetLongInt(const DcmTagKey& tagKey, switch (elem->ident()) { case EVR_UL: + case EVR_OL: case EVR_up: Uint32 ul; status = elem->getUint32(ul, pos); @@ -3328,6 +3338,9 @@ OFCondition DcmItem::putAndInsertString(const DcmTag& tag, case EVR_OF: elem = new DcmOtherFloat(tag); break; + case EVR_OL: + elem = new DcmOtherLong(tag); + break; case EVR_PN: elem = new DcmPersonName(tag); break; @@ -3713,6 +3726,9 @@ OFCondition DcmItem::putAndInsertUint32(const DcmTag& tag, case EVR_UL: elem = new DcmUnsignedLong(tag); break; + case EVR_OL: + elem = new DcmOtherLong(tag); + break; case EVR_UNKNOWN: /* Unknown VR, e.g. tag not found in data dictionary */ status = EC_UnknownVR; @@ -3737,6 +3753,42 @@ OFCondition DcmItem::putAndInsertUint32(const DcmTag& tag, } +OFCondition DcmItem::putAndInsertUint32Array(const DcmTag& tag, + const Uint32 *value, + const unsigned long count, + const OFBool replaceOld) +{ + OFCondition status = EC_Normal; + /* create new element */ + DcmElement *elem = NULL; + switch(tag.getEVR()) + { + case EVR_OL: + elem = new DcmOtherLong(tag); + break; + case EVR_UL: + elem = new DcmUnsignedLong(tag); + break; + default: + status = EC_IllegalCall; + break; + } + if (elem != NULL) + { + /* put value */ + status = elem->putUint32Array(value, count); + /* insert into dataset/item */ + if (status.good()) + status = insert(elem, replaceOld); + /* could not be inserted, therefore, delete it immediately */ + if (status.bad()) + delete elem; + } else if (status.good()) + status = EC_MemoryExhausted; + return status; +} + + OFCondition DcmItem::putAndInsertSint32(const DcmTag& tag, const Sint32 value, const unsigned long pos, @@ -4028,6 +4080,9 @@ OFCondition DcmItem::insertEmptyElement(const DcmTag& tag, case EVR_OF: elem = new DcmOtherFloat(tag); break; + case EVR_OL: + elem = new DcmOtherLong(tag); + break; case EVR_PN: elem = new DcmPersonName(tag); break; diff --git a/dcmdata/libsrc/dcmetinf.cc b/dcmdata/libsrc/dcmetinf.cc index d9d3659c..8ab4f6f9 100644 --- a/dcmdata/libsrc/dcmetinf.cc +++ b/dcmdata/libsrc/dcmetinf.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -173,10 +173,11 @@ void DcmMetaInfo::print(STD_NAMESPACE ostream&out, OFCondition DcmMetaInfo::writeXML(STD_NAMESPACE ostream &out, const size_t flags) { + OFCondition l_error = EC_Normal; if (flags & DCMTypes::XF_useNativeModel) { /* in Native DICOM Model, there is no concept of a "file format" */ - return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error, + l_error = makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error, "Cannot convert File Meta Information to Native DICOM Model"); } else { OFString xmlString; @@ -193,14 +194,16 @@ OFCondition DcmMetaInfo::writeXML(STD_NAMESPACE ostream &out, do { dO = elementList->get(); - dO->writeXML(out, flags); - } while (elementList->seek(ELP_next)); + l_error = dO->writeXML(out, flags); + } while (l_error.good() && elementList->seek(ELP_next)); + } + if (l_error.good()) + { + /* XML end tag for "meta-header" */ + out << "" << OFendl; } - /* XML end tag for "meta-header" */ - out << "" << OFendl; - /* always report success */ - return EC_Normal; } + return l_error; } diff --git a/dcmdata/libsrc/dcpxitem.cc b/dcmdata/libsrc/dcpxitem.cc index f7714946..892390e5 100644 --- a/dcmdata/libsrc/dcpxitem.cc +++ b/dcmdata/libsrc/dcpxitem.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2012, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -210,49 +210,56 @@ OFCondition DcmPixelItem::createOffsetTable(const DcmOffsetList &offsetList) OFCondition DcmPixelItem::writeXML(STD_NAMESPACE ostream&out, const size_t flags) { - /* XML start tag for "item" */ - out << ""; - /* write element value (if loaded) */ - if (valueLoaded() && (flags & DCMTypes::XF_writeBinaryData)) + if (flags & DCMTypes::XF_useNativeModel) { - /* encode binary data as Base64 */ - if (flags & DCMTypes::XF_encodeBase64) + /* in Native DICOM Model, there is no concept of a "pixel item" */ + return makeOFCondition(OFM_dcmdata, EC_CODE_CannotConvertToXML, OF_error, + "Cannot convert Pixel Item to Native DICOM Model"); + } else { + /* XML start tag for "item" */ + out << ""; + /* write element value (if loaded) */ + if (valueLoaded() && (flags & DCMTypes::XF_writeBinaryData)) { - /* pixel items always contain 8 bit data, therefore, byte swapping not required */ - OFStandard::encodeBase64(out, OFstatic_cast(Uint8 *, getValue()), OFstatic_cast(size_t, getLengthField())); - } else { - /* get and check 8 bit data */ - Uint8 *byteValues = NULL; - if (getUint8Array(byteValues).good() && (byteValues != NULL)) + /* encode binary data as Base64 */ + if (flags & DCMTypes::XF_encodeBase64) { - const unsigned long count = getLengthField(); - out << STD_NAMESPACE hex << STD_NAMESPACE setfill('0'); - /* print byte values in hex mode */ - out << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++)); - for (unsigned long i = 1; i < count; i++) - out << "\\" << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++)); - /* reset i/o manipulators */ - out << STD_NAMESPACE dec << STD_NAMESPACE setfill(' '); + /* pixel items always contain 8 bit data, therefore, byte swapping not required */ + OFStandard::encodeBase64(out, OFstatic_cast(Uint8 *, getValue()), OFstatic_cast(size_t, getLengthField())); + } else { + /* get and check 8 bit data */ + Uint8 *byteValues = NULL; + if (getUint8Array(byteValues).good() && (byteValues != NULL)) + { + const unsigned long count = getLengthField(); + out << STD_NAMESPACE hex << STD_NAMESPACE setfill('0'); + /* print byte values in hex mode */ + out << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++)); + for (unsigned long i = 1; i < count; i++) + out << "\\" << STD_NAMESPACE setw(2) << OFstatic_cast(int, *(byteValues++)); + /* reset i/o manipulators */ + out << STD_NAMESPACE dec << STD_NAMESPACE setfill(' '); + } } } + /* XML end tag for "item" */ + out << "" << OFendl; + /* always report success */ + return EC_Normal; } - /* XML end tag for "item" */ - out << "" << OFendl; - /* always report success */ - return EC_Normal; } diff --git a/dcmdata/libsrc/dcsequen.cc b/dcmdata/libsrc/dcsequen.cc index b4c77d3f..2b149e9b 100644 --- a/dcmdata/libsrc/dcsequen.cc +++ b/dcmdata/libsrc/dcsequen.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -305,6 +305,7 @@ void DcmSequenceOfItems::print(STD_NAMESPACE ostream&out, OFCondition DcmSequenceOfItems::writeXML(STD_NAMESPACE ostream&out, const size_t flags) { + OFCondition l_error = EC_Normal; if (flags & DCMTypes::XF_useNativeModel) { /* use common method from DcmElement to write start tag */ @@ -320,12 +321,17 @@ OFCondition DcmSequenceOfItems::writeXML(STD_NAMESPACE ostream&out, { out << "" << OFendl; dO = itemList->get(); - dO->writeXML(out, flags); + l_error = dO->writeXML(out, flags); + /* exit loop in case of error */ + if (l_error.bad()) break; out << "" << OFendl; } while (itemList->seek(ELP_next)); } - /* use common method from DcmElement to write end tag */ - DcmElement::writeXMLEndTag(out, flags); + if (l_error.good()) + { + /* use common method from DcmElement to write end tag */ + DcmElement::writeXMLEndTag(out, flags); + } } else { OFString xmlString; DcmVR vr(getTag().getVR()); @@ -357,14 +363,16 @@ OFCondition DcmSequenceOfItems::writeXML(STD_NAMESPACE ostream&out, do { dO = itemList->get(); - dO->writeXML(out, flags); - } while (itemList->seek(ELP_next)); + l_error = dO->writeXML(out, flags); + } while (l_error.good() && itemList->seek(ELP_next)); + } + if (l_error.good()) + { + /* XML end tag for "sequence" */ + out << "" << OFendl; } - /* XML end tag for "sequence" */ - out << "" << OFendl; } - /* always report success */ - return EC_Normal; + return l_error; } diff --git a/dcmdata/libsrc/dcuid.cc b/dcmdata/libsrc/dcuid.cc index fbb75c0f..5e48791a 100644 --- a/dcmdata/libsrc/dcuid.cc +++ b/dcmdata/libsrc/dcuid.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -136,7 +136,8 @@ static const UIDNameMap uidNameMap[] = { { UID_RFC2557MIMEEncapsulationTransferSyntax, "RFC2557MIMEEncapsulation" }, { UID_XMLEncodingTransferSyntax, "XMLEncoding" }, - // Storage + // Storage (DICOM) + { UID_AcquisitionContextSRStorage, "AcquisitionContextSRStorage" }, { UID_AmbulatoryECGWaveformStorage, "AmbulatoryECGWaveformStorage" }, { UID_ArterialPulseWaveformStorage, "ArterialPulseWaveformStorage" }, { UID_AutorefractionMeasurementsStorage, "AutorefractionMeasurementsStorage" }, @@ -218,7 +219,9 @@ static const UIDNameMap uidNameMap[] = { { UID_RawDataStorage, "RawDataStorage" }, { UID_RealWorldValueMappingStorage, "RealWorldValueMappingStorage" }, { UID_RespiratoryWaveformStorage, "RespiratoryWaveformStorage" }, + { UID_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorage" }, { UID_RTBeamsTreatmentRecordStorage, "RTBeamsTreatmentRecordStorage" }, + { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTBrachyApplicationSetupDeliveryInstructionStorage" }, { UID_RTBrachyTreatmentRecordStorage, "RTBrachyTreatmentRecordStorage" }, { UID_RTDoseStorage, "RTDoseStorage" }, { UID_RTImageStorage, "RTImageStorage" }, @@ -237,6 +240,7 @@ static const UIDNameMap uidNameMap[] = { { UID_SurfaceScanMeshStorage, "SurfaceScanMeshStorage" }, { UID_SurfaceScanPointCloudStorage, "SurfaceScanPointCloudStorage" }, { UID_SurfaceSegmentationStorage, "SurfaceSegmentationStorage" }, + { UID_TractographyResultsStorage, "TractographyResultsStorage" }, { UID_TwelveLeadECGWaveformStorage, "TwelveLeadECGWaveformStorage" }, { UID_UltrasoundImageStorage, "UltrasoundImageStorage" }, { UID_UltrasoundMultiframeImageStorage, "UltrasoundMultiframeImageStorage" }, @@ -295,7 +299,7 @@ static const UIDNameMap uidNameMap[] = { { UID_MOVECompositeInstanceRootRetrieve, "MOVECompositeInstanceRootRetrieve" }, { UID_RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel, "RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel" }, - // Worklist + // Modality Worklist { UID_FINDModalityWorklistInformationModel, "FINDModalityWorklistInformationModel" }, // General Purpose Worklist @@ -309,8 +313,7 @@ static const UIDNameMap uidNameMap[] = { { UID_ModalityPerformedProcedureStepRetrieveSOPClass, "ModalityPerformedProcedureStepRetrieveSOPClass" }, { UID_ModalityPerformedProcedureStepSOPClass, "ModalityPerformedProcedureStepSOPClass" }, - // Radiotherapy Treatment Delivery - { UID_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorage" }, + // Radiotherapy { UID_RTConventionalMachineVerification, "RTConventionalMachineVerification" }, { UID_RTIonMachineVerification, "RTIonMachineVerification" }, @@ -533,6 +536,7 @@ static const int uidNameMap_size = OFstatic_cast(int, sizeof(uidNameMap) / sizeo */ const char* dcmAllStorageSOPClassUIDs[] = { + UID_AcquisitionContextSRStorage, UID_AmbulatoryECGWaveformStorage, UID_ArterialPulseWaveformStorage, UID_AutorefractionMeasurementsStorage, @@ -614,6 +618,7 @@ const char* dcmAllStorageSOPClassUIDs[] = { UID_RespiratoryWaveformStorage, UID_RTBeamsDeliveryInstructionStorage, UID_RTBeamsTreatmentRecordStorage, + UID_RTBrachyApplicationSetupDeliveryInstructionStorage, UID_RTBrachyTreatmentRecordStorage, UID_RTDoseStorage, UID_RTImageStorage, @@ -632,6 +637,7 @@ const char* dcmAllStorageSOPClassUIDs[] = { UID_SurfaceScanMeshStorage, UID_SurfaceScanPointCloudStorage, UID_SurfaceSegmentationStorage, + UID_TractographyResultsStorage, UID_TwelveLeadECGWaveformStorage, UID_UltrasoundImageStorage, UID_UltrasoundMultiframeImageStorage, @@ -803,6 +809,7 @@ const char* dcmLongSCUStorageSOPClassUIDs[] = { UID_XRayRadiationDoseSRStorage, UID_XRayRadiofluoroscopicImageStorage, // recently approved +// UID_AcquisitionContextSRStorage, // UID_BreastProjectionXRayImageStorageForPresentation, // UID_BreastProjectionXRayImageStorageForProcessing, // UID_CompositingPlanarMPRVolumetricPresentationStateStorage @@ -814,6 +821,8 @@ const char* dcmLongSCUStorageSOPClassUIDs[] = { // UID_LegacyConvertedEnhancedPETImageStorage, // UID_ParametricMapStorage, // UID_RadiopharmaceuticalRadiationDoseSRStorage, +// UID_RTBrachyApplicationSetupDeliveryInstructionStorage, +// UID_TractographyResultsStorage, // UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, // UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, // retired @@ -1043,6 +1052,7 @@ typedef struct { ** the size of an image being transmitted). */ static const DcmModalityTable modalities[] = { + { UID_AcquisitionContextSRStorage, "SRa", 4096 }, { UID_AmbulatoryECGWaveformStorage, "ECA", 4096 }, { UID_ArterialPulseWaveformStorage, "WVa", 4096 }, { UID_AutorefractionMeasurementsStorage, "OPa", 4096 }, @@ -1124,6 +1134,7 @@ static const DcmModalityTable modalities[] = { { UID_RespiratoryWaveformStorage, "WVr", 4096 }, { UID_RTBeamsDeliveryInstructionStorage, "RTd", 4096 }, { UID_RTBeamsTreatmentRecordStorage, "RTb", 4096 }, + { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTa", 4096 }, { UID_RTBrachyTreatmentRecordStorage, "RTr", 4096 }, { UID_RTDoseStorage, "RD", 4096 }, { UID_RTImageStorage, "RI", 4096 }, @@ -1142,6 +1153,7 @@ static const DcmModalityTable modalities[] = { { UID_SurfaceScanMeshStorage, "SSm", 4096 }, { UID_SurfaceScanPointCloudStorage, "SSp", 4096 }, { UID_SurfaceSegmentationStorage, "SGs", 4096 }, + { UID_TractographyResultsStorage, "TR", 4096 }, { UID_TwelveLeadECGWaveformStorage, "TLE", 4096 }, { UID_UltrasoundImageStorage, "US", 512 * 512 }, { UID_UltrasoundMultiframeImageStorage, "USm", 512 * 512 }, @@ -1372,22 +1384,12 @@ typedef bool(WINAPI *pSnmpExtensionInit) ( OUT HANDLE *hPollForTrapEvent, OUT AsnObjectIdentifier *supportedView); -typedef bool(WINAPI *pSnmpExtensionTrap) ( - OUT AsnObjectIdentifier *enterprise, - OUT AsnInteger32 *genericTrap, - OUT AsnInteger32 *specificTrap, - OUT AsnTimeticks *timeStamp, - OUT SnmpVarBindList *variableBindings); - typedef bool(WINAPI *pSnmpExtensionQuery) ( IN BYTE requestType, IN OUT SnmpVarBindList *variableBindings, OUT AsnInteger32 *errorStatus, OUT AsnInteger32 *errorIndex); -typedef bool(WINAPI *pSnmpExtensionInitEx) ( - OUT AsnObjectIdentifier *supportedView); - typedef struct _ASTAT_ { ADAPTER_STATUS adapt; @@ -1454,7 +1456,6 @@ static unsigned char *getMACAddress(unsigned char buffer[6]) UINT OID_ipMACEntAddr[] = {1, 3, 6, 1, 2, 1, 2, 2, 1, 6}; AsnObjectIdentifier MIB_ifMACEntAddr = {sizeof(OID_ipMACEntAddr) / sizeof(UINT), OID_ipMACEntAddr}; AsnObjectIdentifier MIB_ifEntryType = {sizeof(OID_ifEntryType) / sizeof(UINT), OID_ifEntryType}; - AsnObjectIdentifier MIB_ifEntryNum = {sizeof(OID_ifEntryNum) / sizeof(UINT), OID_ifEntryNum}; SnmpVarBindList varBindList; SnmpVarBind varBind[2]; AsnInteger32 errorStatus; @@ -1464,18 +1465,12 @@ static unsigned char *getMACAddress(unsigned char buffer[6]) int dtmp; int j = 0; pSnmpExtensionInit m_Init = (pSnmpExtensionInit)GetProcAddress(m_hInst2, "SnmpExtensionInit"); - /* pSnmpExtensionInitEx m_InitEx = (pSnmpExtensionInitEx)GetProcAddress(m_hInst2, "SnmpExtensionInitEx"); */ pSnmpExtensionQuery m_Query = (pSnmpExtensionQuery)GetProcAddress(m_hInst2, "SnmpExtensionQuery"); - /* pSnmpExtensionTrap m_Trap = (pSnmpExtensionTrap)GetProcAddress(m_hInst2, "SnmpExtensionTrap"); */ m_Init(GetTickCount(), &PollForTrapEvent, &SupportedView); /* initialize the variable list to be retrieved by m_Query */ varBindList.list = varBind; varBind[0].name = MIB_NULL; varBind[1].name = MIB_NULL; - /* copy in the OID to find the number of entries in the interface table */ - varBindList.len = 1; /* only retrieving one item */ - m_Copy(&varBind[0].name, &MIB_ifEntryNum); - ret = m_Query(SNMP_PDU_GETNEXT, &varBindList, &errorStatus, &errorIndex); varBindList.len = 2; /* copy in the OID of ifType, the type of interface */ m_Copy(&varBind[0].name, &MIB_ifEntryType); diff --git a/dcmdata/libsrc/dcvr.cc b/dcmdata/libsrc/dcvr.cc index c09a4eae..09c8b150 100644 --- a/dcmdata/libsrc/dcvr.cc +++ b/dcmdata/libsrc/dcvr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,8 +34,9 @@ */ OFGlobal dcmEnableUnknownVRGeneration(OFTrue); OFGlobal dcmEnableUnlimitedTextVRGeneration(OFTrue); -OFGlobal dcmEnableOtherFloatStringVRGeneration(OFTrue); -OFGlobal dcmEnableOtherDoubleStringVRGeneration(OFTrue); +OFGlobal dcmEnableOtherFloatVRGeneration(OFTrue); +OFGlobal dcmEnableOtherDoubleVRGeneration(OFTrue); +OFGlobal dcmEnableOtherLongVRGeneration(OFTrue); OFGlobal dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration(OFTrue); OFGlobal dcmEnableUnlimitedCharactersVRGeneration(OFTrue); OFGlobal dcmEnableUnknownVRConversion(OFFalse); @@ -47,8 +48,9 @@ void dcmEnableGenerationOfNewVRs() { dcmEnableUnknownVRGeneration.set(OFTrue); dcmEnableUnlimitedTextVRGeneration.set(OFTrue); - dcmEnableOtherFloatStringVRGeneration.set(OFTrue); - dcmEnableOtherDoubleStringVRGeneration.set(OFTrue); + dcmEnableOtherFloatVRGeneration.set(OFTrue); + dcmEnableOtherDoubleVRGeneration.set(OFTrue); + dcmEnableOtherLongVRGeneration.set(OFTrue); dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration.set(OFTrue); dcmEnableUnlimitedCharactersVRGeneration.set(OFTrue); } @@ -57,8 +59,9 @@ void dcmDisableGenerationOfNewVRs() { dcmEnableUnknownVRGeneration.set(OFFalse); dcmEnableUnlimitedTextVRGeneration.set(OFFalse); - dcmEnableOtherFloatStringVRGeneration.set(OFFalse); - dcmEnableOtherDoubleStringVRGeneration.set(OFFalse); + dcmEnableOtherFloatVRGeneration.set(OFFalse); + dcmEnableOtherDoubleVRGeneration.set(OFFalse); + dcmEnableOtherLongVRGeneration.set(OFFalse); dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration.set(OFFalse); dcmEnableUnlimitedCharactersVRGeneration.set(OFFalse); } @@ -101,6 +104,7 @@ static const DcmVREntry DcmVRDict[] = { { EVR_OB, "OB", sizeof(Uint8), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength }, { EVR_OD, "OD", sizeof(Float64), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength }, { EVR_OF, "OF", sizeof(Float32), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength }, + { EVR_OL, "OL", sizeof(Uint32), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength }, { EVR_OW, "OW", sizeof(Uint16), DCMVR_PROP_EXTENDEDLENGTHENCODING, 0, DCM_UndefinedLength }, { EVR_PN, "PN", sizeof(char), DCMVR_PROP_ISASTRING, 0, 64 }, { EVR_SH, "SH", sizeof(char), DCMVR_PROP_ISASTRING, 0, 16 }, @@ -285,7 +289,7 @@ DcmVR::getValidEVR() const } break; case EVR_OF: - if (!dcmEnableOtherFloatStringVRGeneration.get()) + if (!dcmEnableOtherFloatVRGeneration.get()) { if (dcmEnableUnknownVRGeneration.get()) evr = EVR_UN; /* handle OF as if UN */ @@ -294,7 +298,7 @@ DcmVR::getValidEVR() const } break; case EVR_OD: - if (!dcmEnableOtherDoubleStringVRGeneration.get()) + if (!dcmEnableOtherDoubleVRGeneration.get()) { if (dcmEnableUnknownVRGeneration.get()) evr = EVR_UN; /* handle OD as if UN */ @@ -302,6 +306,15 @@ DcmVR::getValidEVR() const evr = EVR_OB; /* handle OD as if OB */ } break; + case EVR_OL: + if (!dcmEnableOtherLongVRGeneration.get()) + { + if (dcmEnableUnknownVRGeneration.get()) + evr = EVR_UN; /* handle OL as if UN */ + else + evr = EVR_OB; /* handle OL as if OB */ + } + break; case EVR_UR: if (!dcmEnableUniversalResourceIdentifierOrLocatorVRGeneration.get()) { diff --git a/dcmdata/libsrc/dcvrfd.cc b/dcmdata/libsrc/dcvrfd.cc index 307e920c..a408dfa4 100644 --- a/dcmdata/libsrc/dcvrfd.cc +++ b/dcmdata/libsrc/dcvrfd.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -165,7 +165,7 @@ void DcmFloatingPointDouble::print(STD_NAMESPACE ostream&out, errorFlag = getFloat64Array(doubleVals); if (doubleVals != NULL) { - const unsigned long count = getVM(); + const unsigned long count = getLengthField() / OFstatic_cast(unsigned long, sizeof(Float64)) /* do not use getVM()! */; const unsigned long maxLength = (flags & DCMTypes::PF_shortenLongTagValues) ? DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1) /*unlimited*/; unsigned long printedLength = 0; diff --git a/dcmdata/libsrc/dcvrfl.cc b/dcmdata/libsrc/dcvrfl.cc index cd2a388f..070719fb 100644 --- a/dcmdata/libsrc/dcvrfl.cc +++ b/dcmdata/libsrc/dcvrfl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -168,7 +168,7 @@ void DcmFloatingPointSingle::print(STD_NAMESPACE ostream&out, { const unsigned long count = getLengthField() / OFstatic_cast(unsigned long, sizeof(Float32)) /* do not use getVM()! */; const unsigned long maxLength = (flags & DCMTypes::PF_shortenLongTagValues) ? - DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1); + DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1) /*unlimited*/; unsigned long printedLength = 0; unsigned long newLength = 0; char buffer[64]; diff --git a/dcmdata/libsrc/dcvrod.cc b/dcmdata/libsrc/dcvrod.cc index 8200617d..9ecd24e1 100644 --- a/dcmdata/libsrc/dcvrod.cc +++ b/dcmdata/libsrc/dcvrod.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2013, OFFIS e.V. + * Copyright (C) 2013-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,9 +25,7 @@ #include "dcmtk/ofstd/ofuuid.h" #include "dcmtk/dcmdata/dcvrod.h" -#include "dcmtk/dcmdata/dcvrfd.h" #include "dcmtk/dcmdata/dcswap.h" -#include "dcmtk/dcmdata/dcuid.h" /* for UID generation */ // ******************************** @@ -79,7 +77,7 @@ DcmEVR DcmOtherDouble::ident() const OFCondition DcmOtherDouble::checkValue(const OFString & /*vm*/, - const OFBool /*oldFormat*/) + const OFBool /*oldFormat*/) { /* currently no checks are performed */ return EC_Normal; @@ -88,7 +86,7 @@ OFCondition DcmOtherDouble::checkValue(const OFString & /*vm*/, unsigned long DcmOtherDouble::getVM() { - /* value multiplicity for OF is defined as 1 */ + /* value multiplicity for OD is defined as 1 */ return 1; } @@ -101,7 +99,7 @@ OFCondition DcmOtherDouble::writeXML(STD_NAMESPACE ostream &out, { /* always write XML start tag */ writeXMLStartTag(out, flags); - /* OF data requires special handling in the Native DICOM Model format */ + /* OD data requires special handling in the Native DICOM Model format */ if (flags & DCMTypes::XF_useNativeModel) { /* for an empty value field, we do not need to do anything */ diff --git a/dcmdata/libsrc/dcvrof.cc b/dcmdata/libsrc/dcvrof.cc index cf0c87ef..d9acb366 100644 --- a/dcmdata/libsrc/dcvrof.cc +++ b/dcmdata/libsrc/dcvrof.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2013, OFFIS e.V. + * Copyright (C) 2002-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -25,9 +25,7 @@ #include "dcmtk/ofstd/ofuuid.h" #include "dcmtk/dcmdata/dcvrof.h" -#include "dcmtk/dcmdata/dcvrfl.h" #include "dcmtk/dcmdata/dcswap.h" -#include "dcmtk/dcmdata/dcuid.h" /* for UID generation */ // ******************************** diff --git a/dcmdata/libsrc/dcvrol.cc b/dcmdata/libsrc/dcvrol.cc new file mode 100644 index 00000000..60c01973 --- /dev/null +++ b/dcmdata/libsrc/dcvrol.cc @@ -0,0 +1,148 @@ +/* + * + * Copyright (C) 2016, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmdata + * + * Author: Joerg Riesmeier + * + * Purpose: Implementation of class DcmOtherLong + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/ofstd/ofuuid.h" + +#include "dcmtk/dcmdata/dcvrol.h" +#include "dcmtk/dcmdata/dcswap.h" + + +// ******************************** + + +DcmOtherLong::DcmOtherLong(const DcmTag &tag, + const Uint32 len) + : DcmUnsignedLong(tag, len) +{ +} + + +DcmOtherLong::DcmOtherLong(const DcmOtherLong &old) + : DcmUnsignedLong(old) +{ +} + + +DcmOtherLong::~DcmOtherLong() +{ +} + + +DcmOtherLong &DcmOtherLong::operator=(const DcmOtherLong &obj) +{ + DcmUnsignedLong::operator=(obj); + return *this; +} + + +OFCondition DcmOtherLong::copyFrom(const DcmObject& rhs) +{ + if (this != &rhs) + { + if (rhs.ident() != ident()) return EC_IllegalCall; + *this = OFstatic_cast(const DcmOtherLong &, rhs); + } + return EC_Normal; +} + + +// ******************************** + + +DcmEVR DcmOtherLong::ident() const +{ + return EVR_OL; +} + + +OFCondition DcmOtherLong::checkValue(const OFString & /*vm*/, + const OFBool /*oldFormat*/) +{ + /* currently no checks are performed */ + return EC_Normal; +} + + +unsigned long DcmOtherLong::getVM() +{ + /* value multiplicity for OL is defined as 1 */ + return 1; +} + + +// ******************************** + + +OFCondition DcmOtherLong::writeXML(STD_NAMESPACE ostream &out, + const size_t flags) +{ + /* always write XML start tag */ + writeXMLStartTag(out, flags); + /* OL data requires special handling in the Native DICOM Model format */ + if (flags & DCMTypes::XF_useNativeModel) + { + /* for an empty value field, we do not need to do anything */ + if (getLengthField() > 0) + { + /* encode binary data as Base64 */ + if (flags & DCMTypes::XF_encodeBase64) + { + out << ""; + Uint8 *byteValues = OFstatic_cast(Uint8 *, getValue()); + /* Base64 encoder requires big endian input data */ + swapIfNecessary(EBO_BigEndian, gLocalByteOrder, byteValues, getLengthField(), sizeof(Uint32)); + /* update the byte order indicator variable correspondingly */ + setByteOrder(EBO_BigEndian); + OFStandard::encodeBase64(out, byteValues, OFstatic_cast(size_t, getLengthField())); + out << "" << OFendl; + } else { + /* generate a new UID but the binary data is not (yet) written. */ + OFUUID uuid; + out << "" << OFendl; + } + } + } else { + /* write element value (if loaded) */ + if (valueLoaded()) + { + Uint32 *uintVals = NULL; + /* get and check 32 bit data */ + if (getUint32Array(uintVals).good() && (uintVals != NULL)) + { + /* we cannot use getVM() since it always returns 1 */ + const size_t count = getLengthField() / sizeof(Uint32); + /* print unsigned long values in hex mode */ + out << (*(uintVals++)); + for (unsigned long i = 1; i < count; i++) + out << "\\" << (*(uintVals++)); + } + } + } + /* always write XML end tag */ + writeXMLEndTag(out, flags); + /* always report success */ + return EC_Normal; +} diff --git a/dcmdata/libsrc/dcvrul.cc b/dcmdata/libsrc/dcvrul.cc index 28a535ab..84bf281a 100644 --- a/dcmdata/libsrc/dcvrul.cc +++ b/dcmdata/libsrc/dcvrul.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2014, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -163,7 +163,7 @@ void DcmUnsignedLong::print(STD_NAMESPACE ostream&out, errorFlag = getUint32Array(uintVals); if (uintVals != NULL) { - const unsigned long count = getVM(); + const unsigned long count = getLengthField() / OFstatic_cast(unsigned long, sizeof(Uint32)) /* do not use getVM()! */; const unsigned long maxLength = (flags & DCMTypes::PF_shortenLongTagValues) ? DCM_OptPrintLineLength : OFstatic_cast(unsigned long, -1) /*unlimited*/; unsigned long printedLength = 0; diff --git a/dcmdata/tests/CMakeLists.txt b/dcmdata/tests/CMakeLists.txt index 928940bd..30c41783 100644 --- a/dcmdata/tests/CMakeLists.txt +++ b/dcmdata/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # declare executables -DCMTK_ADD_EXECUTABLE(dcmdata_tests tests tpread ti2dbmp tchval tpath tvrdatim telemlen tparser tdict tvrds tvrfd tvrui tstrval tspchrs tvrpn tparent tfilter tvrcomp) +DCMTK_ADD_EXECUTABLE(dcmdata_tests tests tpread ti2dbmp tchval tpath tvrdatim telemlen tparser tdict tvrds tvrfd tvrpn tvrui tvrol tstrval tspchrs tparent tfilter tvrcomp) # make sure executables are linked to the corresponding libraries DCMTK_TARGET_LINK_MODULES(dcmdata_tests i2d dcmdata oflog ofstd) diff --git a/dcmdata/tests/Makefile.dep b/dcmdata/tests/Makefile.dep index a3b461ac..2062e609 100644 --- a/dcmdata/tests/Makefile.dep +++ b/dcmdata/tests/Makefile.dep @@ -16,6 +16,8 @@ tchval.o: tchval.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -77,7 +79,8 @@ tchval.o: tchval.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/vrscan.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/vrscan.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h tdict.o: tdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ @@ -97,6 +100,8 @@ tdict.o: tdict.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -142,6 +147,8 @@ telemlen.o: telemlen.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -203,8 +210,8 @@ telemlen.o: telemlen.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \ - ../include/dcmtk/dcmdata/dcostrmb.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcostrmb.h tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -223,6 +230,8 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -264,6 +273,8 @@ tfilter.o: tfilter.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -316,6 +327,8 @@ ti2dbmp.o: ti2dbmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -363,6 +376,8 @@ tparent.o: tparent.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -424,8 +439,9 @@ tparent.o: tparent.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h dctmacro.h \ - ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcostrmb.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + dctmacro.h ../include/dcmtk/dcmdata/dcistrmb.h \ + ../include/dcmtk/dcmdata/dcostrmb.h tparser.o: tparser.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -444,6 +460,8 @@ tparser.o: tparser.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -506,9 +524,9 @@ tparser.o: tparser.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpxitem.h \ - ../include/dcmtk/dcmdata/dcistrmb.h ../include/dcmtk/dcmdata/dcostrmb.h \ - dctmacro.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcpxitem.h ../include/dcmtk/dcmdata/dcistrmb.h \ + ../include/dcmtk/dcmdata/dcostrmb.h dctmacro.h tpath.o: tpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -527,6 +545,8 @@ tpath.o: tpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -588,7 +608,8 @@ tpath.o: tpath.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcpath.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcpath.h tpread.o: tpread.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ @@ -607,6 +628,8 @@ tpread.o: tpread.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -668,8 +691,9 @@ tpread.o: tpread.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dcvrus.h ../include/dcmtk/dcmdata/dcvrsl.h \ ../include/dcmtk/dcmdata/dcvrfl.h ../include/dcmtk/dcmdata/dcvrfd.h \ ../include/dcmtk/dcmdata/dcvrof.h ../include/dcmtk/dcmdata/dcvrod.h \ - ../include/dcmtk/dcmdata/cmdlnarg.h ../include/dcmtk/dcmdata/dcostrmz.h \ - ../include/dcmtk/dcmdata/dcistrmz.h ../include/dcmtk/dcmdata/dcfcache.h + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmdata/dcostrmz.h ../include/dcmtk/dcmdata/dcistrmz.h \ + ../include/dcmtk/dcmdata/dcfcache.h tspchrs.o: tspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -688,6 +712,8 @@ tspchrs.o: tspchrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -735,6 +761,8 @@ tstrval.o: tstrval.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -782,6 +810,8 @@ tvrcomp.o: tvrcomp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcvras.h ../include/dcmtk/dcmdata/dcbytstr.h \ ../include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -850,6 +880,8 @@ tvrdatim.o: tvrdatim.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -904,6 +936,8 @@ tvrds.o: tvrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -953,6 +987,8 @@ tvrfd.o: tvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -983,6 +1019,58 @@ tvrfd.o: tvrfd.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcvr.h \ ../include/dcmtk/dcmdata/dctag.h ../include/dcmtk/dcmdata/dctagkey.h \ ../include/dcmtk/dcmdata/dcstack.h ../include/dcmtk/dcmdata/dcdeftag.h +tvrol.o: tvrol.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmdata/dcdatset.h ../include/dcmtk/dcmdata/dcitem.h \ + ../include/dcmtk/dcmdata/dctypes.h ../include/dcmtk/dcmdata/dcobject.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../include/dcmtk/dcmdata/dcerror.h ../include/dcmtk/dcmdata/dcxfer.h \ + ../include/dcmtk/dcmdata/dcvr.h ../include/dcmtk/dcmdata/dctag.h \ + ../include/dcmtk/dcmdata/dctagkey.h ../include/dcmtk/dcmdata/dcstack.h \ + ../include/dcmtk/dcmdata/dclist.h ../include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmdata/dcvrol.h ../include/dcmtk/dcmdata/dcvrul.h \ + ../include/dcmtk/dcmdata/dcelem.h ../include/dcmtk/dcmdata/dcdeftag.h tvrpn.o: tvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oftest.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ @@ -1001,6 +1089,8 @@ tvrpn.o: tvrpn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1049,6 +1139,8 @@ tvrui.o: tvrui.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmdata/dcuid.h ../include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ diff --git a/dcmdata/tests/Makefile.in b/dcmdata/tests/Makefile.in index 563cc66f..d95ae9cd 100644 --- a/dcmdata/tests/Makefile.in +++ b/dcmdata/tests/Makefile.in @@ -22,8 +22,8 @@ LOCALLIBS = -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(ICONVLIBS) I2DLIBS = -li2d objs = tests.o tpread.o ti2dbmp.o tchval.o tpath.o tvrdatim.o telemlen.o tparser.o \ - tdict.o tvrds.o tvrfd.o tvrui.o tstrval.o tspchrs.o tvrpn.o tparent.o \ - tfilter.o tvrcomp.o + tdict.o tvrds.o tvrfd.o tvrui.o tvrol.o tstrval.o tspchrs.o tvrpn.o \ + tparent.o tfilter.o tvrcomp.o progs = tests diff --git a/dcmdata/tests/tchval.cc b/dcmdata/tests/tchval.cc index 9b966967..4c2416ac 100644 --- a/dcmdata/tests/tchval.cc +++ b/dcmdata/tests/tchval.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2009-2015, OFFIS e.V. + * Copyright (C) 2009-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -250,6 +250,7 @@ OFTEST(dcmdata_checkStringValue) CHECK_GOOD( "UI-10", DcmUniqueIdentifier::checkStringValue("1.2.3.4.5.6.7.8.9.0\\99", "2") ) CHECK_GOOD( "UI-11", DcmUniqueIdentifier::checkStringValue("1.2.3.4.5.6.7.8.9.0.123.456.789.0.111222333444555666777888999000", "1") ) CHECK_BAD ( "UI-12", DcmUniqueIdentifier::checkStringValue("1.2.3.4.5.6.7.8.9.0.123.456.789.10.111222333444555666777888999000", "1") ) + CHECK_BAD ( "UI-13", DcmUniqueIdentifier::checkStringValue("007", "1") ) /* test "Universal Resource Identifier or Universal Resource Locator (URI/URL)" */ CHECK_GOOD( "UR-01", DcmUniversalResourceIdentifierOrLocator::checkStringValue("http://www.dcmtk.org/ ") ) diff --git a/dcmdata/tests/telemlen.cc b/dcmdata/tests/telemlen.cc index e731320b..4b094ad2 100644 --- a/dcmdata/tests/telemlen.cc +++ b/dcmdata/tests/telemlen.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2015, OFFIS e.V. + * Copyright (C) 2011-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -111,6 +111,7 @@ OFTEST(dcmdata_elementLength_pixelSequence) TEST_VR(EVR_OB) TEST_VR(EVR_OD) TEST_VR(EVR_OF) +TEST_VR(EVR_OL) TEST_VR(EVR_OW) TEST_VR(EVR_SQ) TEST_VR(EVR_UC) diff --git a/dcmdata/tests/tests.cc b/dcmdata/tests/tests.cc index 335333fa..805f0879 100644 --- a/dcmdata/tests/tests.cc +++ b/dcmdata/tests/tests.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2015 OFFIS e.V. + * Copyright (C) 2011-2016 OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -38,6 +38,7 @@ OFTEST_REGISTER(dcmdata_floatingPointDouble); OFTEST_REGISTER(dcmdata_personName); OFTEST_REGISTER(dcmdata_uniqueIdentifier_1); OFTEST_REGISTER(dcmdata_uniqueIdentifier_2); +OFTEST_REGISTER(dcmdata_otherLong); OFTEST_REGISTER(dcmdata_VRCompare); OFTEST_REGISTER(dcmdata_elementLength_EVR_AE); OFTEST_REGISTER(dcmdata_elementLength_EVR_AS); @@ -54,6 +55,7 @@ OFTEST_REGISTER(dcmdata_elementLength_EVR_LT); OFTEST_REGISTER(dcmdata_elementLength_EVR_OB); OFTEST_REGISTER(dcmdata_elementLength_EVR_OD); OFTEST_REGISTER(dcmdata_elementLength_EVR_OF); +OFTEST_REGISTER(dcmdata_elementLength_EVR_OL); OFTEST_REGISTER(dcmdata_elementLength_EVR_OW); OFTEST_REGISTER(dcmdata_elementLength_EVR_OverlayData); OFTEST_REGISTER(dcmdata_elementLength_EVR_PN); diff --git a/dcmdata/tests/tvrcomp.cc b/dcmdata/tests/tvrcomp.cc index b7e8dcdf..e14a6a67 100644 --- a/dcmdata/tests/tvrcomp.cc +++ b/dcmdata/tests/tvrcomp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2014, OFFIS e.V. + * Copyright (C) 2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -15,7 +15,7 @@ * * Author: Michael Onken * - * Purpose: test program for compare() method of VR classes + * Purpose: tests for compare() as well as < and > operators of VR classes * */ @@ -72,27 +72,41 @@ static void checkByteString(const DcmTagKey& key) obj1.putOFStringArray("TEST"); obj2.putOFStringArray("TEST"); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putOFStringArray("TEST" /* same value*/); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second string longer obj2.putOFStringArray("TEST_LONG"); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM obj1.putOFStringArray("TEST\\TEST"); obj2.putOFStringArray("TEST\\TEST\\TEST"); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -104,33 +118,47 @@ static void checkAttributeTags() DcmAttributeTag objOtherTag(DCM_UndefinedTagKey); // Check equality - obj1.putTagVal(DcmTagKey(0010,0010)); - obj2.putTagVal(DcmTagKey(0010,0010)); + obj1.putTagVal(DCM_PatientName); + obj2.putTagVal(DCM_PatientName); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) - objOtherTag.putTagVal(DcmTagKey(0010,0010)); + objOtherTag.putTagVal(DCM_PatientName); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger - obj2.putTagVal(DcmTagKey(0010,0020)); + obj2.putTagVal(DCM_PatientID); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM - obj1.putTagVal(DcmTagKey(0010,0010), 1); // VM = 2 - obj2.putTagVal(DcmTagKey(0010,0010), 0); - obj2.putTagVal(DcmTagKey(0010,0010), 1); - obj2.putTagVal(DcmTagKey(0010,0010), 2); // VM = 3 + obj1.putTagVal(DCM_PatientName, 1); // VM = 2 + obj2.putTagVal(DCM_PatientName, 0); + obj2.putTagVal(DCM_PatientName, 1); + obj2.putTagVal(DCM_PatientName, 2); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -145,20 +173,30 @@ static void checkFloatingPointDouble() obj1.putFloat64(10.0); obj2.putFloat64(10.0); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj2) && (obj1 >= obj1) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putFloat64(10.0); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger obj2.putFloat64(100.50); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM obj1.putFloat64(10.0); // VM = 2 @@ -167,8 +205,12 @@ static void checkFloatingPointDouble() obj2.putFloat64(10.0, 2); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -183,20 +225,30 @@ static void checkFloatingPointSingle() obj1.putFloat32(10.0); obj2.putFloat32(10.0); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putFloat32(10.0); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger obj2.putFloat32(100.50); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM obj1.putFloat32(10.0); // VM = 2 @@ -205,8 +257,12 @@ static void checkFloatingPointSingle() obj2.putFloat32(10.0, 2); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } template @@ -222,21 +278,31 @@ static void checkOtherByteOtherWord(const DcmTagKey& tagKey) obj1.putUint8Array(testData, 1); obj2.putUint8Array(testData, 1); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putUint8Array(testData, 1); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger Uint8 biggerTestData[1] = {101}; obj2.putUint8Array(biggerTestData, 1); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM Uint8 largeVMTestData[2] = {100, 101}; @@ -245,8 +311,12 @@ static void checkOtherByteOtherWord(const DcmTagKey& tagKey) obj2.putUint8Array(evenLargerVMTestData, 3); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -261,20 +331,30 @@ static void checkSignedLong() obj1.putSint32(-10); obj2.putSint32(-10); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putSint32(-10); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger obj2.putSint32(-5); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); + // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM obj1.putSint32(-10); // VM = 2 @@ -283,8 +363,12 @@ static void checkSignedLong() obj2.putSint32(-10, 2); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -299,20 +383,30 @@ static void checkSignedShort() obj1.putSint16(-10); obj2.putSint16(-10); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putSint16(-10); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger obj2.putSint16(-5); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM obj1.putSint16(-10); // VM = 2 @@ -321,8 +415,12 @@ static void checkSignedShort() obj2.putSint16(-10, 2); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -337,20 +435,30 @@ static void checkUnsignedLong() obj1.putUint32(10); obj2.putUint32(10); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj1) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putUint32(10); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger obj2.putUint32(10000); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM obj1.putUint32(10); // VM = 2 @@ -359,8 +467,12 @@ static void checkUnsignedLong() obj2.putUint32(10, 2); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -375,20 +487,30 @@ static void checkUnsignedShort() obj1.putUint16(10); obj2.putUint16(10); OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj2) && (obj1 >= obj2) ); // Check differing tags (DCM_UndefinedTagKey always smaller than any other key) objOtherTag.putUint16(10); OFCHECK(obj1.compare(objOtherTag) < 0); + OFCHECK(obj1 < objOtherTag); + OFCHECK(obj1 <= objOtherTag); // Reverse test should yield opposite result OFCHECK(objOtherTag.compare(obj1) > 0); + OFCHECK(objOtherTag > obj1); + OFCHECK(objOtherTag >= obj1); // Check second attribute larger obj2.putUint16(10000); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM obj1.putUint16(10); // VM = 2 @@ -397,8 +519,12 @@ static void checkUnsignedShort() obj2.putUint16(10, 2); // VM = 3 OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); } @@ -408,31 +534,40 @@ static void checkDcmItemAndSequences() DcmItem obj1; DcmItem obj2; - obj1.putAndInsertUint16(DcmTagKey(0x0028,0x0010) /* Rows */, 10); - obj1.putAndInsertUint16(DcmTagKey(0x0028,0x0020) /* Columns */, 10); - obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0010) /* Rows */, 10); - obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0020) /* Columns */, 10); + obj1.putAndInsertUint16(DCM_Rows, 10); + obj1.putAndInsertUint16(DCM_Columns, 10); + obj2.putAndInsertUint16(DCM_Rows, 10); + obj2.putAndInsertUint16(DCM_Columns, 10); // Check equality OFCHECK_EQUAL(obj1.compare(obj2), 0); + OFCHECK( (obj1 <= obj2) && (obj2 <= obj1) ); // Reverse test should yield same result OFCHECK_EQUAL(obj2.compare(obj1), 0); + OFCHECK( (obj2 >= obj2) && (obj1 >= obj1) ); - // Check values in second item larger - obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0010) /* Rows */, 100); - obj2.putAndInsertUint16(DcmTagKey(0x0028,0x0020) /* Columns */, 100); + // Check values in second item larger. Make sure that the first value remains equal. + obj2.putAndInsertUint16(DCM_Columns, 100); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1); + OFCHECK(obj2 >= obj1); // Test different VM (i.e. item cardinality): // obj1 has VM = 2 // Make obj2 VM = 3 by adding another tag - obj2.insertEmptyElement(DcmTagKey(0x7fe0,0x0010) /* Pixel Data */); + obj2.insertEmptyElement(DCM_PixelData); OFCHECK(obj1.compare(obj2) < 0); + OFCHECK(obj1 < obj2); + OFCHECK(obj1 <= obj2 ); // Reverse test should yield opposite result OFCHECK(obj2.compare(obj1) > 0); + OFCHECK(obj2 > obj1 ); + OFCHECK(obj2 >= obj1 ); // Check sequences @@ -446,8 +581,10 @@ static void checkDcmItemAndSequences() // Check equality OFCHECK_EQUAL(seq1.compare(seq2), 0); + OFCHECK( (seq1 <= seq2) && (seq2 <= seq1) ); // Reverse test should yield same result OFCHECK_EQUAL(seq2.compare(seq1), 0); + OFCHECK( (seq2 >= seq1) && (seq1 >= seq2) ); // Test different VM (i.e. sequence cardinality): // seq1 has VM = 2 @@ -455,8 +592,12 @@ static void checkDcmItemAndSequences() seq2.insertAtCurrentPos(new DcmItem());; OFCHECK(seq1.compare(seq2) < 0); + OFCHECK(seq1 < seq2); + OFCHECK(seq1 <= seq2); // Reverse test should yield opposite result OFCHECK(seq2.compare(seq1) > 0); + OFCHECK(seq2 > seq1); + OFCHECK(seq2 >= seq1); } diff --git a/dcmdata/tests/tvrol.cc b/dcmdata/tests/tvrol.cc new file mode 100644 index 00000000..96d2bfdb --- /dev/null +++ b/dcmdata/tests/tvrol.cc @@ -0,0 +1,51 @@ +/* + * + * Copyright (C) 2016, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmdata + * + * Author: Joerg Riesmeier + * + * Purpose: test program for class DcmOtherLong + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmdata/dcdatset.h" +#include "dcmtk/dcmdata/dcvrol.h" +#include "dcmtk/dcmdata/dcdeftag.h" + + +OFTEST(dcmdata_otherLong) +{ + DcmOtherLong otherLong(DCM_TrackPointIndexList); + /* append new values */ + OFCHECK(otherLong.putUint32(1, 0).good()); + OFCHECK(otherLong.putUint32(22, 1).good()); + OFCHECK(otherLong.putUint32(333, 2).good()); + OFCHECK(otherLong.putUint32(4444, 3).good()); + OFCHECK(otherLong.putUint32(55555, 4).good()); + OFCHECK(otherLong.putUint32(666666, 5).good()); + OFCHECK(otherLong.putUint32(7777777, 6).good()); + OFCHECK(otherLong.putUint32(88888888, 7).good()); + OFCHECK(otherLong.putUint32(999999999, 8).good()); + /* value multiplicity should always be 1 */ + OFCHECK_EQUAL(otherLong.getVM(), 1); + /* get value as an array and check number of entries */ + Uint32 *uintVals = NULL; + OFCHECK(otherLong.getUint32Array(uintVals).good()); + OFCHECK(uintVals != NULL); + OFCHECK_EQUAL(otherLong.getLengthField() / sizeof(Uint32), 9); +} diff --git a/dcmfg/include/dcmtk/dcmfg/fgderimg.h b/dcmfg/include/dcmtk/dcmfg/fgderimg.h index b892dca8..3ea91366 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgderimg.h +++ b/dcmfg/include/dcmtk/dcmfg/fgderimg.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -224,8 +224,8 @@ public: /** Set Derivation Description * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR (ST) and VM (1) if - * enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setDerivationDescription(const OFString &value, diff --git a/dcmfg/include/dcmtk/dcmfg/fgfracon.h b/dcmfg/include/dcmtk/dcmfg/fgfracon.h index 1cde4af8..9f5f01d3 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgfracon.h +++ b/dcmfg/include/dcmtk/dcmfg/fgfracon.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -225,8 +225,8 @@ public: /** Set Frame Acquisition Number * @param value Value that should be set - * @param checkValue If OFTrue, basic checks are performed whether the value is - * valid for this attribute + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal, if value was set, error otherwise */ virtual OFCondition setFrameAcquisitionNumber(const Uint16& value, @@ -281,8 +281,8 @@ public: * @param value Value that should be set (lowest index starts with 1) * @param pos The position of the value that should be set (lowest index * starts with 0), i.e.\ select the 1st, 2nd, ..nth dimension - * @param checkValue If OFTrue, basic checks are performed whether the - * valid for this attribute + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal, if value was set, error otherwise */ virtual OFCondition setDimensionIndexValues(const Uint32& value, @@ -291,8 +291,8 @@ public: /** Set Temporal Position Index * @param value Value that should be set - * @param checkValue If OFTrue, basic checks are performed whether the value is - * valid for this attribute + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal, if value was set, error otherwise */ virtual OFCondition setTemporalPositionIndex(const Uint32& value, @@ -309,8 +309,8 @@ public: /** Set In-Stack Position Number * @param value Value that should be set - * @param checkValue If OFTrue, basic checks are performed whether the value is - * valid for this attribute + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal, if value was set, error otherwise */ virtual OFCondition setInStackPositionNumber(const Uint32& value, @@ -318,8 +318,8 @@ public: /** Set Frame Comments * @param value Value that should be set - * @param checkValue If OFTrue, basic checks are performed whether the value is - * valid for this attribute + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal, if value was set, error otherwise */ virtual OFCondition setFrameComments(const OFString& value, diff --git a/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h b/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h index 0c125803..c7120d86 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h +++ b/dcmfg/include/dcmtk/dcmfg/fgframevoilut.h @@ -134,8 +134,8 @@ public: /** Set Window Width * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR (DS) and VM (1) - * if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setWindowWidth(const OFString& value, diff --git a/dcmfg/include/dcmtk/dcmfg/fgpixmsr.h b/dcmfg/include/dcmtk/dcmfg/fgpixmsr.h index 895f6bff..4387acd6 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgpixmsr.h +++ b/dcmfg/include/dcmtk/dcmfg/fgpixmsr.h @@ -103,7 +103,7 @@ public: /** Set Pixel Spacing * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR (DS) and VM (1) if + * @param checkValue Check 'value' for conformance with VR (DS) and VM (2) if * enabled * @return EC_Normal if successful, an error code otherwise */ diff --git a/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h b/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h index 224395cf..3e7f78ee 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h +++ b/dcmfg/include/dcmtk/dcmfg/fgplanposvol.h @@ -101,7 +101,8 @@ public: * hand corner (center of the first voxel transmitted) of the frame, in mm. * @param value X,Y or Z coordinate of upper left hand corner voxel in mm * @param pos pos 0 is x, pos 1 is Y, pos 2 addresses Z coordinate - * @param checkValue Check coordinates for validity, including VR (FD) + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setImagePositionVolume(const Float64& value, @@ -113,7 +114,8 @@ public: * @param valueX X coordinate of upper left hand corner voxel in mm * @param valueY coordinate of upper left hand corner voxel in mm * @param valueZ coordinate of upper left hand corner voxel in mm - * @param checkValue Check coordinates for validity, including VR (FD) + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setImagePositionVolume(const Float64& valueX, diff --git a/dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h b/dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h index 4217749d..1390ad55 100644 --- a/dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h +++ b/dcmfg/include/dcmtk/dcmfg/fgrealworldvaluemapping.h @@ -282,8 +282,8 @@ public: * @param value Value to be set. If Pixel Representation is -1 (signed * pixel data) value must be -2^15 < value < 2^15-1. Otherwise use * setRealWorldValueFirstValueMappedUnSigned(). - * @param checkValue Check 'value' for conformance with VR (SS) and VM (1) - * if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setRealWorldValueFirstValueMappeSigned(const Sint16 &value, @@ -304,8 +304,8 @@ public: * @param value Value to be set. If Pixel Representation is -1 (signed * pixel data) value must be -2^15 < value < 2^15-1. Otherwise use * setRealWorldValueLastValueMappedUnSigned(). - * @param checkValue Check 'value' for conformance with VR (SS) and VM (1) - * if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setRealWorldValueLastValueMappedSigned(const Sint16 &value, @@ -313,7 +313,8 @@ public: /** Set Real World Value Intercept * @param value Value to be set - * @param checkValue Check 'value' for conformance with VR (FD) and VM (1) if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setRealWorldValueIntercept(const Float64& value, @@ -321,7 +322,8 @@ public: /** Set Real World Value Slope * @param value Value to be set - * @param checkValue Check 'value' for conformance with VR (FD) and VM (1) if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setRealWorldValueSlope(const Float64& value, diff --git a/dcmfg/libsrc/Makefile.dep b/dcmfg/libsrc/Makefile.dep index f1e984a2..e0a32bef 100644 --- a/dcmfg/libsrc/Makefile.dep +++ b/dcmfg/libsrc/Makefile.dep @@ -40,6 +40,8 @@ fg.o: fg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -107,6 +109,7 @@ fg.o: fg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgbase.h fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -121,6 +124,8 @@ fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -219,6 +224,7 @@ fgbase.o: fgbase.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ @@ -252,6 +258,8 @@ fgderimg.o: fgderimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -350,6 +358,7 @@ fgderimg.o: fgderimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ @@ -405,6 +414,8 @@ fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -473,6 +484,7 @@ fgfact.o: fgfact.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgderimg.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ @@ -534,6 +546,8 @@ fgfracon.o: fgfracon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ @@ -600,6 +614,7 @@ fgfracon.o: fgfracon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgbase.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h @@ -653,6 +668,8 @@ fgframevoilut.o: fgframevoilut.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ @@ -720,6 +737,7 @@ fgframevoilut.o: fgframevoilut.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h fgimagedatatype.o: fgimagedatatype.cc \ @@ -772,6 +790,8 @@ fgimagedatatype.o: fgimagedatatype.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ @@ -839,6 +859,7 @@ fgimagedatatype.o: fgimagedatatype.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h fginterface.o: fginterface.cc \ @@ -893,6 +914,8 @@ fginterface.o: fginterface.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -958,6 +981,7 @@ fginterface.o: fginterface.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgtypes.h ../include/dcmtk/dcmfg/fgdefine.h \ ../include/dcmtk/dcmfg/fg.h ../include/dcmtk/dcmfg/fgbase.h \ @@ -977,6 +1001,8 @@ fgpixmsr.o: fgpixmsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1073,6 +1099,7 @@ fgpixmsr.o: fgpixmsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ @@ -1093,6 +1120,8 @@ fgplanor.o: fgplanor.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -1191,6 +1220,7 @@ fgplanor.o: fgplanor.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgfact.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ @@ -1246,6 +1276,8 @@ fgplanorvol.o: fgplanorvol.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1315,6 +1347,7 @@ fgplanorvol.o: fgplanorvol.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h fgplanpo.o: fgplanpo.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1330,6 +1363,8 @@ fgplanpo.o: fgplanpo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -1428,6 +1463,7 @@ fgplanpo.o: fgplanpo.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgfact.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ @@ -1485,6 +1521,8 @@ fgplanposvol.o: fgplanposvol.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ @@ -1552,6 +1590,7 @@ fgplanposvol.o: fgplanposvol.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h fgrealworldvaluemapping.o: fgrealworldvaluemapping.cc \ @@ -1568,6 +1607,8 @@ fgrealworldvaluemapping.o: fgrealworldvaluemapping.cc \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -1666,6 +1707,7 @@ fgrealworldvaluemapping.o: fgrealworldvaluemapping.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ @@ -1691,6 +1733,8 @@ fgseg.o: fgseg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1787,6 +1831,7 @@ fgseg.o: fgseg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h \ ../../dcmiod/include/dcmtk/dcmiod/iodutil.h \ @@ -1833,6 +1878,8 @@ fgtypes.o: fgtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1903,6 +1950,7 @@ fgtypes.o: fgtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgbase.h \ ../../dcmiod/include/dcmtk/dcmiod/iodcommn.h \ @@ -1972,6 +2020,8 @@ fgusimagedescription.o: fgusimagedescription.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ @@ -2039,6 +2089,7 @@ fgusimagedescription.o: fgusimagedescription.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fgbase.h stack.o: stack.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2104,6 +2155,8 @@ stackinterface.o: stackinterface.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -2172,6 +2225,7 @@ stackinterface.o: stackinterface.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmfg/fginterface.h ../include/dcmtk/dcmfg/fgtypes.h \ ../include/dcmtk/dcmfg/fgdefine.h ../include/dcmtk/dcmfg/fg.h \ diff --git a/dcmfg/libsrc/fgderimg.cc b/dcmfg/libsrc/fgderimg.cc index 63502981..e8776da3 100644 --- a/dcmfg/libsrc/fgderimg.cc +++ b/dcmfg/libsrc/fgderimg.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -547,11 +547,8 @@ OFCondition DerivationImageItem::getDerivationDescription(OFString& value, OFCondition DerivationImageItem::setDerivationDescription(const OFString& value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmShortText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_DerivationDescription.putOFStringArray(value); - return result; - + (void)checkValue; + return m_DerivationDescription.putOFStringArray(value); } diff --git a/dcmfg/libsrc/fgfracon.cc b/dcmfg/libsrc/fgfracon.cc index 89d35569..b2ffd8a9 100644 --- a/dcmfg/libsrc/fgfracon.cc +++ b/dcmfg/libsrc/fgfracon.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -265,6 +265,7 @@ OFCondition FGFrameContent::getFrameLabel(OFString& value, OFCondition FGFrameContent::setFrameAcquisitionNumber(const Uint16& value, const OFBool checkValue) { + (void)checkValue; m_FrameAcquisitonNumber.putUint16(value); return EC_Normal; } @@ -290,6 +291,7 @@ OFCondition FGFrameContent::setFrameAcquisitionDateTime(const OFString& value, OFCondition FGFrameContent::setFrameAcquisitionDuration(const Float64& value, const OFBool checkValue) { + (void)checkValue; // basic checking always included return m_FrameAcquisitionDuration.putFloat64(value); } @@ -316,7 +318,8 @@ OFCondition FGFrameContent::setDimensionIndexValues(const Uint32& value, const unsigned int pos, const OFBool checkValue) { - // no meaningful check possible in this context + // no other meaningful checks possible in this context + (void)checkValue; if (value == 0) { DCMFG_ERROR("Cannot set dimension index value 0, must be >= 1)"); @@ -329,6 +332,7 @@ OFCondition FGFrameContent::setTemporalPositionIndex(const Uint32& value, const OFBool checkValue) { // no meaningful check possible in this context + (void)checkValue; return m_TemporalPositionIndex.putUint32(value); } @@ -346,6 +350,7 @@ OFCondition FGFrameContent::setInStackPositionNumber(const Uint32& value, const OFBool checkValue) { // no meaningful check possible in this context + (void)checkValue; return m_InStackPositionNumber.putUint32(value); } @@ -353,12 +358,11 @@ OFCondition FGFrameContent::setInStackPositionNumber(const Uint32& value, OFCondition FGFrameContent::setFrameComments(const OFString& value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmLongText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_FrameComments.putOFStringArray(value); - return result; + (void)checkValue; + return m_FrameComments.putOFStringArray(value); } + OFCondition FGFrameContent::setFrameLabel(const OFString& value, const OFBool checkValue) { diff --git a/dcmfg/libsrc/fgframevoilut.cc b/dcmfg/libsrc/fgframevoilut.cc index d88afe2b..3b220122 100644 --- a/dcmfg/libsrc/fgframevoilut.cc +++ b/dcmfg/libsrc/fgframevoilut.cc @@ -121,6 +121,7 @@ OFCondition FGFrameVOILUT::setWindowCenter(const OFString& value, const OFBool checkValue) { // no checks at the moment + (void)checkValue; return m_WindowCenter.putOFStringArray(value); } @@ -128,6 +129,7 @@ OFCondition FGFrameVOILUT::setWindowWidth(const OFString& value, const OFBool checkValue) { // no checks at the moment + (void)checkValue; return m_WindowWidth.putOFStringArray(value); } diff --git a/dcmfg/libsrc/fgimagedatatype.cc b/dcmfg/libsrc/fgimagedatatype.cc index ea83c8e4..db55dc01 100644 --- a/dcmfg/libsrc/fgimagedatatype.cc +++ b/dcmfg/libsrc/fgimagedatatype.cc @@ -101,7 +101,7 @@ OFCondition FGImageDataType::getZeroVelocityPixelValue(Sint32& value, if (!m_ZeroVelocityPixelValueSS.isEmpty()) { Sint16 val = 0; - if ( (result = m_ZeroVelocityPixelValueSS.getSint16(val)).good()) + if ( (result = m_ZeroVelocityPixelValueSS.getSint16(val, pos)).good()) { value = val; } @@ -109,7 +109,7 @@ OFCondition FGImageDataType::getZeroVelocityPixelValue(Sint32& value, else if (!m_ZeroVelocityPixelValueUS.isEmpty()) { Uint16 val = 0; - if ( (result = m_ZeroVelocityPixelValueUS.getUint16(val)).good()) + if ( (result = m_ZeroVelocityPixelValueUS.getUint16(val, pos)).good()) { value = val; } diff --git a/dcmfg/libsrc/fginterface.cc b/dcmfg/libsrc/fginterface.cc index 651fb9c3..0837810c 100644 --- a/dcmfg/libsrc/fginterface.cc +++ b/dcmfg/libsrc/fginterface.cc @@ -653,7 +653,7 @@ OFBool FGInterface::check() } if (!foundFrameContent) { - DCMFG_ERROR("Frame Content FGfunctioanl group missing for frame # " << frameCount ); + DCMFG_ERROR("Frame Content Functional group missing for frame # " << frameCount ); numErrors++; } } diff --git a/dcmfg/libsrc/fgpixmsr.cc b/dcmfg/libsrc/fgpixmsr.cc index 09a20410..9fa1eec9 100644 --- a/dcmfg/libsrc/fgpixmsr.cc +++ b/dcmfg/libsrc/fgpixmsr.cc @@ -146,17 +146,33 @@ OFCondition FGPixelMeasures:: getSpacingBetweenSlices(Float64& value, OFCondition FGPixelMeasures::setPixelSpacing(const OFString& value, const OFBool checkValue) { - return m_PixelSpacing.putOFStringArray(value); + OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "2") : EC_Normal; + if (result.good()) + { + result = m_PixelSpacing.putOFStringArray(value); + } + return result; } OFCondition FGPixelMeasures::setSliceThickness(const OFString& value, const OFBool checkValue) { - return m_SliceThickness.putOFStringArray(value); + OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + { + result = m_SliceThickness.putOFStringArray(value); + } + return result; } OFCondition FGPixelMeasures::setSpacingBetweenSlices(const OFString& value, const OFBool checkValue) { - return m_SpacingBetweenSlices.putOFStringArray(value);} + OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + { + result = m_SpacingBetweenSlices.putOFStringArray(value); + } + return result; +} diff --git a/dcmfg/libsrc/fgplanposvol.cc b/dcmfg/libsrc/fgplanposvol.cc index 6ad95180..00eaf464 100644 --- a/dcmfg/libsrc/fgplanposvol.cc +++ b/dcmfg/libsrc/fgplanposvol.cc @@ -88,6 +88,7 @@ OFCondition FGPlanePositionVolume::setImagePositionVolume(const Float64& valueX, const Float64& valueZ, const OFBool checkValue) { + (void)checkValue; OFCondition result = m_ImagePositionVolume.putFloat64(valueX, 0); if (result.good()) result = m_ImagePositionVolume.putFloat64(valueY, 1); if (result.good()) result = m_ImagePositionVolume.putFloat64(valueZ, 2); @@ -99,6 +100,8 @@ OFCondition FGPlanePositionVolume::setImagePositionVolume(const Float64& value, const long unsigned int pos, const OFBool checkValue) { + // no checks + (void)checkValue; if (pos > 2) return EC_ValueMultiplicityViolated; diff --git a/dcmfg/libsrc/fgrealworldvaluemapping.cc b/dcmfg/libsrc/fgrealworldvaluemapping.cc index 0a41a3ee..d3051b17 100644 --- a/dcmfg/libsrc/fgrealworldvaluemapping.cc +++ b/dcmfg/libsrc/fgrealworldvaluemapping.cc @@ -266,6 +266,7 @@ CodeSequenceMacro& FGRealWorldValueMapping::RWVMItem::getMeasurementUnitsCode() OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMappedUnsigned(const Uint16& value, const OFBool checkValue) { + (void)checkValue; DcmUnsignedShort* us = new DcmUnsignedShort(DCM_RealWorldValueFirstValueMapped); OFCondition result = us->putUint16(value); if (result.good()) result = m_Item->insert(us, OFTrue /* replace old */); @@ -277,6 +278,7 @@ OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMapped OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMappeSigned(const Sint16& value, const OFBool checkValue) { + (void)checkValue; DcmSignedShort* ss = new DcmSignedShort(DCM_RealWorldValueFirstValueMapped); OFCondition result = ss->putSint16(value); if (result.good()) result = m_Item->insert(ss, OFTrue /* replace old */); @@ -287,6 +289,7 @@ OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueFirstValueMappeS OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLastValueMappedSigned(const Sint16& value, const OFBool checkValue) { + (void)checkValue; DcmSignedShort* ss = new DcmSignedShort(DCM_RealWorldValueLastValueMapped); OFCondition result = ss->putSint16(value); if (result.good()) result = m_Item->insert(ss, OFTrue /* replace old */); @@ -299,6 +302,7 @@ OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLastValueMappedS OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLastValueMappedUnsigned(const Uint16& value, const OFBool checkValue) { + (void)checkValue; DcmUnsignedShort* us = new DcmUnsignedShort(DCM_RealWorldValueLastValueMapped); OFCondition result = us->putUint16(value); if (result.good()) result = m_Item->insert(us, OFTrue /* replace old */); @@ -310,6 +314,7 @@ OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLastValueMappedU OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueIntercept(const Float64& value, const OFBool checkValue) { + (void)checkValue; return m_Item->putAndInsertFloat64(DCM_RealWorldValueIntercept, value); } @@ -317,6 +322,7 @@ OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueIntercept(const OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueSlope(const Float64& value, const OFBool checkValue) { + (void)checkValue; return m_Item->putAndInsertFloat64(DCM_RealWorldValueSlope, value); } @@ -324,6 +330,7 @@ OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueSlope(const Floa OFCondition FGRealWorldValueMapping::RWVMItem::setRealWorldValueLUTData(const OFVector< Float64 >& value, const OFBool checkValue) { + (void)checkValue; DcmElement *elem = NULL; OFCondition result = m_Item->findAndGetElement(DCM_RealWorldValueLUTData, elem); if (result.good()) diff --git a/dcmfg/libsrc/fgusimagedescription.cc b/dcmfg/libsrc/fgusimagedescription.cc index 5685e7f2..de068190 100644 --- a/dcmfg/libsrc/fgusimagedescription.cc +++ b/dcmfg/libsrc/fgusimagedescription.cc @@ -112,7 +112,16 @@ OFCondition FGUSImageDescription::setFrameType(const DcmFGTypes::E_FGUSFrameType value += "\\"; value += derivedPixelContrast; - return m_FrameType.putOFStringArray(value); + OFCondition result; + if (checkValue) + { + result = DcmCodeString::checkStringValue(value, "4"); + } + if (result.good()) + { + result = m_FrameType.putOFStringArray(value); + } + return result; } diff --git a/dcmimage/apps/Makefile.dep b/dcmimage/apps/Makefile.dep index 1a5e6e0b..c2aa1a6d 100644 --- a/dcmimage/apps/Makefile.dep +++ b/dcmimage/apps/Makefile.dep @@ -39,6 +39,8 @@ dcm2pnm.o: dcm2pnm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -107,6 +109,7 @@ dcm2pnm.o: dcm2pnm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ @@ -177,6 +180,8 @@ dcmquant.o: dcmquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -245,6 +250,7 @@ dcmquant.o: dcmquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ @@ -309,6 +315,8 @@ dcmscale.o: dcmscale.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -377,6 +385,7 @@ dcmscale.o: dcmscale.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dimoimg.h \ diff --git a/dcmimage/libsrc/Makefile.dep b/dcmimage/libsrc/Makefile.dep index 5f351e4a..40edbddc 100644 --- a/dcmimage/libsrc/Makefile.dep +++ b/dcmimage/libsrc/Makefile.dep @@ -38,6 +38,8 @@ diargimg.o: diargimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -116,6 +118,8 @@ dicmyimg.o: dicmyimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimage/dicmyimg.h ../include/dcmtk/dcmimage/dicoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ @@ -185,6 +189,8 @@ dicoimg.o: dicoimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -275,6 +281,8 @@ dicoopx.o: dicoopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimage/dicdefin.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dipixel.h @@ -318,6 +326,8 @@ dicopx.o: dicopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -388,6 +398,8 @@ dihsvimg.o: dihsvimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimage/dihsvimg.h ../include/dcmtk/dcmimage/dicoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ @@ -457,6 +469,8 @@ dilogger.o: dilogger.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimage/dicdefin.h dipalimg.o: dipalimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -498,6 +512,8 @@ dipalimg.o: dipalimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -576,6 +592,8 @@ dipipng.o: dipipng.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -641,6 +659,8 @@ dipitiff.o: dipitiff.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -719,6 +739,8 @@ diqtctab.o: diqtctab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -746,7 +768,9 @@ diqtfs.o: diqtfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimage/diqthash.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ @@ -794,6 +818,8 @@ diqthash.o: diqthash.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -884,6 +910,8 @@ diquant.o: diquant.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimage/diqttype.h \ ../include/dcmtk/dcmimage/dicdefin.h ../include/dcmtk/dcmimage/diqtid.h \ @@ -973,6 +1001,8 @@ diregist.o: diregist.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimage/dicdefin.h \ ../include/dcmtk/dcmimage/dipalimg.h ../include/dcmtk/dcmimage/dicoimg.h \ @@ -1058,6 +1088,8 @@ dirgbimg.o: dirgbimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimage/dirgbimg.h ../include/dcmtk/dcmimage/dicoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ @@ -1127,6 +1159,8 @@ diybrimg.o: diybrimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimage/diybrimg.h ../include/dcmtk/dcmimage/dicoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ @@ -1201,6 +1235,8 @@ diyf2img.o: diyf2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimage/diyf2img.h ../include/dcmtk/dcmimage/dicoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ @@ -1275,6 +1311,8 @@ diyp2img.o: diyp2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimage/diyp2img.h ../include/dcmtk/dcmimage/dicoimg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ diff --git a/dcmimgle/apps/Makefile.dep b/dcmimgle/apps/Makefile.dep index 4f3993f1..9639ef87 100644 --- a/dcmimgle/apps/Makefile.dep +++ b/dcmimgle/apps/Makefile.dep @@ -39,6 +39,8 @@ dcmdspfn.o: dcmdspfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -107,6 +109,7 @@ dcmdspfn.o: dcmdspfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmimgle/digsdfn.h ../include/dcmtk/dcmimgle/didispfn.h \ ../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diciefn.h \ @@ -139,6 +142,8 @@ dconvlum.o: dconvlum.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ diff --git a/dcmimgle/include/dcmtk/dcmimgle/dibaslut.h b/dcmimgle/include/dcmtk/dcmimgle/dibaslut.h index 55368d18..82e78955 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/dibaslut.h +++ b/dcmimgle/include/dcmtk/dcmimgle/dibaslut.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2011, OFFIS e.V. + * Copyright (C) 1996-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -221,7 +221,7 @@ class DCMTK_DCMIMGLE_EXPORT DiBaseLUT */ inline Uint32 getAbsMaxRange() const { - return DicomImageClass::maxval(Bits, 0); + return OFstatic_cast(Uint32, DicomImageClass::maxval(Bits, 0)); } /** check whether LUT is valid diff --git a/dcmimgle/include/dcmtk/dcmimgle/diovpln.h b/dcmimgle/include/dcmtk/dcmimgle/diovpln.h index 8cd7ff6f..016cadba 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/diovpln.h +++ b/dcmimgle/include/dcmtk/dcmimgle/diovpln.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2011, OFFIS e.V. + * Copyright (C) 1996-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -506,7 +506,7 @@ inline int DiOverlayPlane::reset(const unsigned long frame) int result = 0; if (Valid && (Data != NULL)) { - const Uint32 frameNumber = FirstFrame + frame; + const Uint32 frameNumber = OFstatic_cast(Uint32, FirstFrame + frame); DCMIMGLE_TRACE("reset overlay plane in group 0x" << STD_NAMESPACE hex << GroupNumber << " to start position"); DCMIMGLE_TRACE(" frameNumber: " << frameNumber << " (" << FirstFrame << "+" << frame << "), ImageFrameOrigin: " << ImageFrameOrigin << ", NumberOfFrames: " << NumberOfFrames); diff --git a/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h b/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h index 123f799e..ae7db613 100644 --- a/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h +++ b/dcmimgle/include/dcmtk/dcmimgle/dipxrept.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2010, OFFIS e.V. + * Copyright (C) 1996-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -27,10 +27,12 @@ #include "dcmtk/dcmimgle/diutils.h" +#ifndef DCMTK_EXPLICIT_SPECIALIZATION #ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION -#define EXPLICIT_SPECIALIZATION template<> +#define DCMTK_EXPLICIT_SPECIALIZATION template<> #else -#define EXPLICIT_SPECIALIZATION +#define DCMTK_EXPLICIT_SPECIALIZATION +#endif #endif @@ -72,84 +74,84 @@ class DiPixelRepresentationTemplate /********************************************************************/ -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Uint8; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Sint8; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Uint16; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Sint16; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Uint32; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline EP_Representation DiPixelRepresentationTemplate::getRepresentation() const { return EPR_Sint32; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline int DiPixelRepresentationTemplate::isSigned() const { return 0; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline int DiPixelRepresentationTemplate::isSigned() const { return 0; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline int DiPixelRepresentationTemplate::isSigned() const { return 0; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline int DiPixelRepresentationTemplate::isSigned() const { return 1; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline int DiPixelRepresentationTemplate::isSigned() const { return 1; } -EXPLICIT_SPECIALIZATION +DCMTK_EXPLICIT_SPECIALIZATION inline int DiPixelRepresentationTemplate::isSigned() const { return 1; diff --git a/dcmimgle/libsrc/Makefile.dep b/dcmimgle/libsrc/Makefile.dep index 2e925c4a..534af905 100644 --- a/dcmimgle/libsrc/Makefile.dep +++ b/dcmimgle/libsrc/Makefile.dep @@ -38,6 +38,8 @@ dcmimage.o: dcmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -116,6 +118,8 @@ dibaslut.o: dibaslut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h diciefn.o: diciefn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/diciefn.h ../include/dcmtk/dcmimgle/didispfn.h \ @@ -161,7 +165,9 @@ diciefn.o: diciefn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h dicielut.o: dicielut.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/dicielut.h \ ../include/dcmtk/dcmimgle/didislut.h \ @@ -205,6 +211,8 @@ dicielut.o: dicielut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h didislut.o: didislut.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/didislut.h \ @@ -248,6 +256,8 @@ didislut.o: didislut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h didispfn.o: didispfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -295,7 +305,9 @@ didispfn.o: didispfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h didocu.o: didocu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -337,6 +349,8 @@ didocu.o: didocu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -405,6 +419,7 @@ didocu.o: didocu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmimgle/didocu.h ../include/dcmtk/dcmimgle/diobjcou.h \ ../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diutils.h @@ -453,7 +468,9 @@ digsdfn.o: digsdfn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h digsdlut.o: digsdlut.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmimgle/digsdlut.h \ ../include/dcmtk/dcmimgle/didislut.h \ @@ -497,6 +514,8 @@ digsdlut.o: digsdlut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimgle/displint.h diimage.o: diimage.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -539,6 +558,8 @@ diimage.o: diimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -611,6 +632,8 @@ diinpx.o: diinpx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h diluptab.o: diluptab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -629,6 +652,8 @@ diluptab.o: diluptab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -715,6 +740,8 @@ dimo1img.o: dimo1img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimgle/dimo1img.h ../include/dcmtk/dcmimgle/dimoimg.h \ ../include/dcmtk/dcmimgle/diimage.h \ @@ -778,6 +805,8 @@ dimo2img.o: dimo2img.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimgle/dimo2img.h ../include/dcmtk/dcmimgle/dimoimg.h \ ../include/dcmtk/dcmimgle/diimage.h \ @@ -841,6 +870,8 @@ dimoimg.o: dimoimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -896,6 +927,8 @@ dimoimg3.o: dimoimg3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -964,6 +997,8 @@ dimoimg4.o: dimoimg4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1032,6 +1067,8 @@ dimoimg5.o: dimoimg5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1129,6 +1166,8 @@ dimomod.o: dimomod.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmimgle/diobjcou.h ../include/dcmtk/dcmimgle/didocu.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -1187,6 +1226,8 @@ dimoopx.o: dimoopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/dimopx.h \ ../include/dcmtk/dcmimgle/dipixel.h ../include/dcmtk/dcmimgle/dimomod.h \ ../include/dcmtk/dcmimgle/diluptab.h \ @@ -1235,6 +1276,8 @@ dimopx.o: dimopx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/dimomod.h \ ../include/dcmtk/dcmimgle/diluptab.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1282,6 +1325,8 @@ diovdat.o: diovdat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimgle/diovlay.h ../include/dcmtk/dcmimgle/diobjcou.h \ ../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diovdat.h \ @@ -1327,6 +1372,8 @@ diovlay.o: diovlay.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimgle/diovlay.h ../include/dcmtk/dcmimgle/diobjcou.h \ ../include/dcmtk/dcmimgle/didefine.h ../include/dcmtk/dcmimgle/diovdat.h \ @@ -1392,6 +1439,8 @@ diovlimg.o: diovlimg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimgle/diovlimg.h \ ../include/dcmtk/dcmimgle/dimo2img.h ../include/dcmtk/dcmimgle/dimoimg.h \ @@ -1462,6 +1511,8 @@ diovpln.o: diovpln.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1526,5 +1577,7 @@ diutils.o: diutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmimgle/diutils.h ../include/dcmtk/dcmimgle/didefine.h diff --git a/dcmimgle/libsrc/diimage.cc b/dcmimgle/libsrc/diimage.cc index f80be773..aab805f5 100644 --- a/dcmimgle/libsrc/diimage.cc +++ b/dcmimgle/libsrc/diimage.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1996-2014, OFFIS e.V. + * Copyright (C) 1996-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -117,7 +117,14 @@ DiImage::DiImage(const DiDocument *docu, /* start from first processed frame (might still exceed number of loaded frames) */ RepresentativeFrame -= FirstFrame; int ok = (Document->getValue(DCM_Rows, Rows) > 0); - ok &= (Document->getValue(DCM_Columns, Columns) > 0); + if (!ok) + DCMIMGLE_ERROR("mandatory attribute 'Rows' is missing"); + if (Document->getValue(DCM_Columns, Columns) == 0) + { + ok = 0; + DCMIMGLE_ERROR("mandatory attribute 'Columns' is missing"); + } + /* check whether to proceed */ if (!ok || ((Rows > 0) && (Columns > 0))) { ok &= (Document->getValue(DCM_BitsAllocated, BitsAllocated) > 0); diff --git a/dcmiod/CMakeLists.txt b/dcmiod/CMakeLists.txt index 807e794b..58c13d50 100644 --- a/dcmiod/CMakeLists.txt +++ b/dcmiod/CMakeLists.txt @@ -5,6 +5,6 @@ PROJECT(dcmiod) INCLUDE_DIRECTORIES(${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR}) # recurse into subdirectories -FOREACH(SUBDIR libsrc include) +FOREACH(SUBDIR libsrc include tests) ADD_SUBDIRECTORY(${SUBDIR}) ENDFOREACH(SUBDIR) diff --git a/dcmiod/Makefile.in b/dcmiod/Makefile.in index af66effe..6ca53d80 100644 --- a/dcmiod/Makefile.in +++ b/dcmiod/Makefile.in @@ -82,4 +82,4 @@ distclean: dependencies: (cd libsrc && touch $(DEP) && $(MAKE) dependencies) -# (cd tests && touch $(DEP) && $(MAKE) dependencies) + (cd tests && touch $(DEP) && $(MAKE) dependencies) diff --git a/dcmiod/include/dcmtk/dcmiod/cielabutil.h b/dcmiod/include/dcmtk/dcmiod/cielabutil.h new file mode 100755 index 00000000..435723d6 --- /dev/null +++ b/dcmiod/include/dcmtk/dcmiod/cielabutil.h @@ -0,0 +1,212 @@ +/* + * + * Copyright (C) 2016, Pascal Getreuer, Open Connections GmbH + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmiod + * + * Author: Pascal Getreuer, Michael Onken + * + * Purpose: Static helper functionality for CIE<->RGB color conversions + * + */ + +#ifndef CIELABUTIL_H +#define CIELABUTIL_H + +#include "dcmtk/config/osconfig.h" +#define INCLUDE_CMATH // for pow() function +#include "dcmtk/ofstd/ofstdinc.h" +#include "dcmtk/dcmiod/ioddef.h" + + +/** Class supporting color space conversions from and to CIELab. In some IODs + * DICOM stores CIELab color values which must often be converted to RGB for + * display or other purposes. This is supported by the functions dicomLab2RGB() + * and rgb2DicomLab(). The CIELab value range in DICOM is [0,65535] for all + * three values. The RGB value range in this class is [0;1]. Further functions + * are available in order to convert between RGB, "normal" CIELab value range + * as well as CIEXYZ. The class uses double floating point precision for + * calculations. + */ +class DCMTK_DCMIOD_EXPORT IODCIELabUtil +{ +public: + + /// D65 standard lightpoint X component for conversion from CIEXYZ to CIELab + static const double D65_WHITEPOINT_X; + /// D65 standard lightpoint Y component for conversion from CIEXYZ to CIELab + static const double D65_WHITEPOINT_Y; + /// D65 standard lightpoint Z component for conversion from CIEXYZ to CIELab + static const double D65_WHITEPOINT_Z; + + /** Convert CIELab color representation as found in DICOM to sRGB value + * representation. See DICOM part 3 for details. + * @param R Output sRGB "R" component (red) with 0 <= R <= 1 + * @param G Output sRGB "G" component (green) with 0 <= G <= 1 + * @param B Output sRGB "R" component (blue) with 0 <= B <= 1 + * @param LDicom Input DICOM CIELab luminance component with 0 <= L <= 65535 + * @param aDicom Input DICOM CIELab "a" component (red<->green) with 0 <= a <= 65535 + * @param bDicom Input DIOCM CIELab "b" component (blue<->yellow) with 0 <= a <= 65535 + */ + static void dicomLab2RGB(double& R, double& G, double& B, double LDicom, double aDicom, double bDicom); + + /** Convert sRGB color representation to CIELab color representation as found + * in DICOM. See DICOM part 3 for details. + * @param LDicom Output CIELab luminance component with 0 <= L <= 65535 as found + * in DICOM + * @param aDicom Output CIELab "a" component (red<->green) with 0 <= a <= 65535 + * as found in DICOM + * @param bDicom Output CIELab "b" component (blue<->yellow) with 0 <= b <= 65535 + * as found in DICOM + * @param R Input sRGB "R" component (red) with 0 <= R <= 1 + * @param G Input sRGB "G" component (green) with 0 <= G <= 1 + * @param B Input sRGB "R" component (blue) with 0 <= B <= 1 + * + */ + static void rgb2DicomLab(double& LDicom, double& aDicom, double& bDicom, double R, double G, double B); + + /** Convert CIELab color representation as found in DICOM to CIELab + * representation. See DICOM part 3 for details. + * @param L Output CIELab luminance component with 0 <= L <= 100 + * @param a Output CIELab "a" component (red<->green) with -127 <= a <= 128 + * @param b Output CIELab "b" component (blue<->yellow) with -127 <= b <= 128 + * @param LDicom Input CIELab luminance component with 0 <= L <= 65535 as found + * in DICOM + * @param aDicom Input CIELab "a" component (red<->green) with 0 <= a <= 65535 + * as found in DICOM + * @param bDicom Input CIELab "b" component (blue<->yellow) with 0 <= b <= 65535 + * as found in DICOM + */ + static void dicomlab2Lab(double& L, double& a, double& b, double LDicom, double aDicom, double bDicom); + + /** Convert CIELab color representation to CIELab color representation found + * in DICOM. See DICOM part 3 for details. + * @param LDicom Output CIELab luminance component with 0 <= L <= 65535 as found + * in DICOM + * @param aDicom Output CIELab "a" component (red<->green) with 0 <= a <= 65535 + * as found in DICOM + * @param bDicom Output CIELab "b" component (blue<->yellow) with 0 <= b <= 65535 + * as found in DICOM + * @param L Input CIELab luminance component with 0 <= L <= 100 + * @param a Input CIELab "a" component (red<->green) with -127 <= a <= 128 + * @param b Input CIELab "b" component (blue<->yellow) with -127 <= b <= 128 + * + */ + static void lab2DicomLab(double& LDicom, double& aDicom, double& bDicom, double L, double a, double b); + + /** Convert sRGB color representation to CIELab representation + * @param L Output CIELab luminance component with 0 <= L <= 100 + * @param a Output CIELab "a" component (red<->green) with -127 <= a <= 128 + * @param b Output CIELab "b" component (blue<->yellow) with -127 <= b <= 128 + * @param R Input sRGB "R" component (red) with 0 <= R <= 1 + * @param G Input sRGB "G" component (green) with 0 <= G <= 1 + * @param B Input sRGB "R" component (blue) with 0 <= B <= 1 + */ + static void rgb2Lab(double& L, double& a, double& b, double R, double G, double B); + + /** Convert sRGB color representation to CIE XYZ representation + * @param X Output CIELab XYZ "X" component with 0 <= X <= 1 + * @param Y Output CIELab XYZ "Y" component with 0 <= Y <= 1 + * @param Z Output CIELab XYZ "Z" component with 0 <= Z <= 1 + * @param R Input sRGB "R" component (red) with 0 <= R <= 1 + * @param G Input sRGB "G" component (green) with 0 <= G <= 1 + * @param B Input sRGB "R" component (blue) with 0 <= B <= 1 + */ + static void rgb2Xyz(double& X, double& Y, double& Z, double R, double G, double B); + + + /** Convert CIELAB XYZ color representation to CIELab representation + * @param L Output CIELab luminance component with 0 <= L <= 100 + * @param a Output CIELab "a" component (red<->green) with -127 <= a <= 128 + * @param b Output CIELab "b" component (blue<->yellow) with -127 <= b <= 128 + * @param X Input CIELab XYZ "X" component with 0 <= X <= 1 + * @param Y Input CIELab XYZ "Y" component with 0 <= Y <= 1 + * @param Z Input CIELab XYZ "Z" component with 0 <= Z <= 1 + */ + static void xyz2Lab(double& L, double& a, double& b, double X, double Y, double Z); + + /** Convert CIELab color representation to sRGB representation + * @param R Output sRGB "R" component (red) with 0 <= R <= 1 + * @param G Output sRGB "G" component (green) with 0 <= G <= 1 + * @param B Output sRGB "R" component (blue) with 0 <= B <= 1 + * @param L Input CIELab luminance component with 0 <= L <= 100 + * @param a Input CIELab "a" component (red<->green) with -127 <= a <= 128 + * @param b Input CIELab "b" component (blue<->yellow) with -127 <= b <= 128 + */ + static void lab2Rgb(double& R, double& G, double& B, double L, double a, double b); + + /** Convert CIELab color representation to CIE XYZ representation + * @param X Output CIELab XYZ "X" component with 0 <= X <= 1 + * @param Y Output CIELab XYZ "Y" component with 0 <= Y <= 1 + * @param Z Output CIELab XYZ "Z" component with 0 <= Z <= 1 + * @param L Input CIELab luminance component with 0 <= L <= 100 + * @param a Input CIELab "a" component (red<->green) with -127 <= a <= 128 + * @param b Input CIELab "b" component (blue<->yellow) with -127 <= b <= 128 + */ + static void lab2Xyz(double& X, double& Y, double& Z, double L, double a, double b); + + /** Convert CIE XYZ color representation to sRGB representation + * @param R Output sRGB "R" component (red) with 0 <= R <= 1 + * @param G Output sRGB "G" component (green) with 0 <= G <= 1 + * @param B Output sRGB "R" component (blue) with 0 <= B <= 1 + * @param X Output CIELab XYZ "X" component with 0 <= X <= 1 + * @param Y Output CIELab XYZ "Y" component with 0 <= Y <= 1 + * @param Z Output CIELab XYZ "Z" component with 0 <= Z <= 1 + */ + static void xyz2Rgb(double& R, double& G, double& B, double X, double Y, double Z); + +protected: + + /** Perform sRGB gamma correction, transforms R to R' + * @param n The value to correct + * @return The gamma-corrected value + */ + static double gammaCorrection(double n); + + /** Peform inverse sRGB gamma correction, transforms R' to R + * @param n The value to invert + * @return The gamma-inverted value + */ + static double invGammaCorrection(double n); + + /** CIE L*a*b* f function (used to convert XYZ to L*a*b*) + * @param n value to convert + * @return The converted value + */ + static double labf(double n); + + /** CIE L*a*b* inverse f function + * @param n The value to compute the inverse for + * @return The resulting inverse + */ + static double labfInv(double n); + + /** Get the minimun of two numbers + * @param a First number + * @param b Second number + * @return The minimum of a, b. a if a and b are equal. + */ + static double min(double a, double b); + + /** Get the minimun of three numbers + * @param a First number + * @param b Second number + * @param c Third number + * @return The minimum of a, b and c. If a value occurs more than once, + * then preference order then a is preferred if possible, b + * otherwise + */ + static double min3(double a, double b, double c); + +}; + +#endif // CIELABUTIL_H diff --git a/dcmiod/include/dcmtk/dcmiod/iodmacro.h b/dcmiod/include/dcmtk/dcmiod/iodmacro.h index 472e4af4..36be4f30 100644 --- a/dcmiod/include/dcmtk/dcmiod/iodmacro.h +++ b/dcmiod/include/dcmtk/dcmiod/iodmacro.h @@ -842,7 +842,8 @@ public: /** Set Algorithm Parameters * @param value The value to be set - * @param checkValue If OFTrue, the given value is checked + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal, if value could be set, error otherwise */ virtual OFCondition setAlgorithmParameters(const OFString& value, @@ -1176,7 +1177,8 @@ public: /** Set Local Namespace Entity ID * @param value Value to be set - * @param checkValue If OFTrue, value is checkd for validity + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if setting was successful, error otherwise */ virtual OFCondition setLocalNamespaceEntityID(const OFString& value, @@ -1184,7 +1186,8 @@ public: /** Set Universal Entity ID * @param value Value to be set - * @param checkValue If OFTrue, value is checkd for validity + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if setting was successful, error otherwise */ virtual OFCondition setUniversalEntityID(const OFString& value, @@ -1192,7 +1195,7 @@ public: /** Set Universal Entity ID Type * @param value Value to be set - * @param checkValue If OFTrue, value is checkd for validity + * @param checkValue If OFTrue, value is checked for validity * @return EC_Normal if setting was successful, error otherwise */ virtual OFCondition setUniversalEntityIDType(const OFString& value, diff --git a/dcmiod/include/dcmtk/dcmiod/iodutil.h b/dcmiod/include/dcmtk/dcmiod/iodutil.h index 44323de0..6e2f7c6b 100644 --- a/dcmiod/include/dcmtk/dcmiod/iodutil.h +++ b/dcmiod/include/dcmtk/dcmiod/iodutil.h @@ -418,8 +418,8 @@ public: checkElementValue(source, seqKey, cardinality, type, exists, module.c_str()); if (source) { - const size_t card = source->card(); - for (size_t count = 0; count < card; count++) + const unsigned long card = source->card(); + for (unsigned long count = 0; count < card; count++) { DcmItem *item = source->getItem(count); if (item != NULL) diff --git a/dcmiod/include/dcmtk/dcmiod/modenhusimage.h b/dcmiod/include/dcmtk/dcmiod/modenhusimage.h index 9057aa0b..b5682dfe 100644 --- a/dcmiod/include/dcmtk/dcmiod/modenhusimage.h +++ b/dcmiod/include/dcmtk/dcmiod/modenhusimage.h @@ -488,7 +488,6 @@ public: * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setLossyImageCompressionMethod(const OFString& value, - const unsigned long pos, const OFBool checkValue = OFTrue); /** Set Recognizable Visual Features @@ -542,7 +541,8 @@ public: /** Set Depth(s) of Focus * @param value Value to be set * @param pos Index of the value to set (0..vm-1) - * @param checkValue Check 'value' for conformance if enabled, including VR (FD) + * @param checkValue Check 'value'. Not evaluated (here for consistency with + * other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setDepthsOfFocus(const Float64 value, @@ -551,7 +551,8 @@ public: /** Set Depth(s) of Focus (convenience function) * @param values Value(s) to be set - * @param checkValue Check 'value' for conformance if enabled, including VR (FD) + * @param checkValue Check 'value'. Not evaluated (here for consistency with + * other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setDepthsOfFocus(const OFVector& values, diff --git a/dcmiod/include/dcmtk/dcmiod/modequipment.h b/dcmiod/include/dcmtk/dcmiod/modequipment.h index e6ce52ea..36010f92 100644 --- a/dcmiod/include/dcmtk/dcmiod/modequipment.h +++ b/dcmiod/include/dcmtk/dcmiod/modequipment.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -171,8 +171,8 @@ public: /** Set Institution Address * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR (ST) and VM (1) - * if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setInstitutionAddress(const OFString &value, diff --git a/dcmiod/include/dcmtk/dcmiod/modgeneralseries.h b/dcmiod/include/dcmtk/dcmiod/modgeneralseries.h index 20dcdb07..38d16535 100644 --- a/dcmiod/include/dcmtk/dcmiod/modgeneralseries.h +++ b/dcmiod/include/dcmtk/dcmiod/modgeneralseries.h @@ -25,6 +25,7 @@ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmiod/modbase.h" #include "dcmtk/dcmiod/ioddef.h" +#include "dcmtk/dcmiod/iodmacro.h" /** Class representing the General Series Module: * @@ -83,6 +84,21 @@ public: */ virtual void ensureInstanceUID(const OFBool correctInvalid = OFFalse); + /** Read attributes from given item into this class + * @param source The source to read from + * @param clearOldData If OFTrue, old data is cleared before reading. Otherwise + * old data is overwritten (or amended) + * @result EC_Normal if reading was successful, error otherwise + */ + virtual OFCondition read(DcmItem& source, + const OFBool clearOldData = OFTrue); + + /** Write attributes from this class into given item + * @param destination The item to write to + * @result EC_Normal if writing was successful, error otherwise + */ + virtual OFCondition write(DcmItem& destination); + /** Get Modality * @param value Reference to variable in which the value should be stored * @param pos Index of the value to get (0..vm-1), -1 for all components @@ -178,6 +194,12 @@ public: */ virtual OFCondition getPatientPosition(OFString &value, const signed long pos = 0) const; + + /** Get reference to Referenced Performed Procedure Step + * @return Reference to PPS + */ + virtual SOPInstanceReferenceMacro& getReferencedPPS(); + /** Set Modality * @param value Value to be set (single value only) or "" for no value * @param checkValue Check 'value' for conformance with VR (CS) and VM (1) @@ -209,9 +231,8 @@ public: /** Set Laterality * @param value Value to be set - * @param checkValue Check value (no effect in this call but included for - * consistency with other methods); provided value is - * always checked. + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setLaterality(const DcmIODTypes::IOD_LATERALITY value, @@ -294,6 +315,9 @@ private: /// The name of this module ("GeneralSeriesModule") static const OFString m_ModuleName; + /// Referenced Performed Procedure Step Sequence + SOPInstanceReferenceMacro m_ReferencedPPS; + }; #endif // MODGENERALSERIES_H diff --git a/dcmiod/include/dcmtk/dcmiod/modimagepixel.h b/dcmiod/include/dcmtk/dcmiod/modimagepixel.h index 4ca0dcd3..d76be12f 100644 --- a/dcmiod/include/dcmtk/dcmiod/modimagepixel.h +++ b/dcmiod/include/dcmtk/dcmiod/modimagepixel.h @@ -174,8 +174,8 @@ public: /** Set Rows * @param value Reference to variable in which the value should be stored - * @param checkValue Check 'value' for conformance with VR (US) and consistency - * with other attributes if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setRows(const Uint16 value, @@ -183,16 +183,16 @@ public: /** Set Columns * @param value Reference to variable in which the value should be stored - * @param checkValue Check 'value' for conformance with VR (US) and consistency - * with other attributes if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setColumns(const Uint16 value, const OFBool checkValue = OFTrue); /** Set Bits Allocated * @param value Reference to variable in which the value should be stored - * @param checkValue Check 'value' for conformance with VR (US) and consistency - * with other attributes if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setBitsAllocated(const Uint16 value, @@ -200,8 +200,8 @@ public: /** Set Bits Stored * @param value Reference to variable in which the value should be stored - * @param checkValue Check 'value' for conformance with VR (US) and consistency - * with other attributes if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setBitsStored(const Uint16 value, @@ -209,8 +209,8 @@ public: /** Set High Bit * @param value Reference to variable in which the value should be stored - * @param checkValue Check 'value' for conformance with VR (US) and consistency - * with other attributes if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setHighBit(const Uint16 value, @@ -246,7 +246,7 @@ public: /** Set ICC Profile * @param values Reference to variable in which the values should be stored - * @param length Length of array provied in values parameter + * @param length Length of array provided in values parameter * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setICCProfile(const Uint8* values, diff --git a/dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h b/dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h index da0e8d35..ded7064e 100644 --- a/dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h +++ b/dcmiod/include/dcmtk/dcmiod/modmultiframedimension.h @@ -190,7 +190,8 @@ public: /** Set Dimension Index Pointer * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR (PN) and VM (1) if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return status EC_Normal if successful, an error code otherwise */ virtual OFCondition setDimensionIndexPointer(const DcmTagKey&value, @@ -206,7 +207,8 @@ public: /** Set Dimension Index Functional Group Pointer * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR and VM if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return status EC_Normal if successful, an error code otherwise */ virtual OFCondition setFunctionalGroupPointer(const DcmTagKey& value, @@ -214,7 +216,9 @@ public: /** Set Dimension Index Functional Group PrivateCreator * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR and VM if enabled + * @param checkValue Check 'value. Not evaluated (here for consistency + * with other setter functions). + * * @return status EC_Normal if successful, an error code otherwise */ virtual OFCondition setFunctionalGroupPrivateCreator(const OFString& value, diff --git a/dcmiod/include/dcmtk/dcmiod/modsynchronisation.h b/dcmiod/include/dcmtk/dcmiod/modsynchronisation.h index d7e08324..b72cf005 100644 --- a/dcmiod/include/dcmtk/dcmiod/modsynchronisation.h +++ b/dcmiod/include/dcmtk/dcmiod/modsynchronisation.h @@ -155,8 +155,8 @@ public: /** Set Synchronization Channel * @param value Value to be set - * @param checkValue The check parameter is provided for consistency with - * other methods but does not have any effect here. + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setSynchronizationChannel(const OFPair &value, diff --git a/dcmiod/libsrc/CMakeLists.txt b/dcmiod/libsrc/CMakeLists.txt index 174a1d8b..6fd8efbe 100644 --- a/dcmiod/libsrc/CMakeLists.txt +++ b/dcmiod/libsrc/CMakeLists.txt @@ -1,5 +1,6 @@ # create library from source files DCMTK_ADD_LIBRARY(dcmiod + cielabutil iodcommn iodmacro iodimage diff --git a/dcmiod/libsrc/Makefile.dep b/dcmiod/libsrc/Makefile.dep index c18bdb91..7301f3c7 100644 --- a/dcmiod/libsrc/Makefile.dep +++ b/dcmiod/libsrc/Makefile.dep @@ -1,3 +1,10 @@ +cielabutil.o: cielabutil.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmiod/cielabutil.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h iodcommn.o: iodcommn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmiod/iodcommn.h ../include/dcmtk/dcmiod/iodrules.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ @@ -43,8 +50,10 @@ iodcommn.o: iodcommn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmiod/modpatient.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modpatient.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -111,6 +120,7 @@ iodcommn.o: iodcommn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmiod/modpatientstudy.h \ @@ -170,8 +180,10 @@ iodimage.o: iodimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmiod/modpatient.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modpatient.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -238,6 +250,7 @@ iodimage.o: iodimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/modbase.h \ ../include/dcmtk/dcmiod/modpatientstudy.h \ @@ -295,6 +308,8 @@ iodmacro.o: iodmacro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -363,6 +378,7 @@ iodmacro.o: iodmacro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ @@ -414,7 +430,10 @@ iodrules.o: iodrules.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmiod/ioddef.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -467,6 +486,8 @@ iodtypes.o: iodtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmiod/ioddef.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h @@ -510,6 +531,8 @@ iodutil.o: iodutil.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ @@ -587,6 +610,8 @@ modacquisitioncontext.o: modacquisitioncontext.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -655,6 +680,7 @@ modacquisitioncontext.o: modacquisitioncontext.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ @@ -680,6 +706,8 @@ modbase.o: modbase.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -770,6 +798,8 @@ modcommoninstanceref.o: modcommoninstanceref.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -836,6 +866,7 @@ modcommoninstanceref.o: modcommoninstanceref.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ @@ -890,6 +921,8 @@ modenhequipment.o: modenhequipment.cc \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -935,6 +968,8 @@ modenhusimage.o: modenhusimage.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1029,6 +1064,7 @@ modenhusimage.o: modenhusimage.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h @@ -1082,8 +1118,10 @@ modenhusseries.o: modenhusseries.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmiod/iodmacro.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodmacro.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ @@ -1149,6 +1187,7 @@ modenhusseries.o: modenhusseries.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h @@ -1200,6 +1239,8 @@ modequipment.o: modequipment.cc \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1243,6 +1284,8 @@ modfor.o: modfor.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1340,8 +1383,10 @@ modgeneralimage.o: modgeneralimage.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmiod/modbase.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -1394,6 +1439,8 @@ modgeneralseries.o: modgeneralseries.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1433,24 +1480,64 @@ modgeneralseries.o: modgeneralseries.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/iodrules.h \ ../../ofstd/include/dcmtk/ofstd/ofmap.h \ - ../include/dcmtk/dcmiod/iodtypes.h \ + ../include/dcmtk/dcmiod/iodtypes.h ../include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ - ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodutil.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h modgeneralstudy.o: modgeneralstudy.cc \ ../../config/include/dcmtk/config/osconfig.h \ @@ -1473,6 +1560,8 @@ modgeneralstudy.o: modgeneralstudy.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1567,6 +1656,7 @@ modgeneralstudy.o: modgeneralstudy.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatutl.h @@ -1586,6 +1676,8 @@ modhelp.o: modhelp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1646,6 +1738,8 @@ modimagepixel.o: modimagepixel.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1743,8 +1837,10 @@ modmultiframedimension.o: modmultiframedimension.cc \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h ../include/dcmtk/dcmiod/ioddef.h \ - ../include/dcmtk/dcmiod/modbase.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -1786,6 +1882,8 @@ modmultiframefg.o: modmultiframefg.cc \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1889,6 +1987,8 @@ modpatient.o: modpatient.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1955,6 +2055,7 @@ modpatient.o: modpatient.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ @@ -2008,6 +2109,8 @@ modpatientstudy.o: modpatientstudy.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2074,6 +2177,7 @@ modpatientstudy.o: modpatientstudy.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ ../include/dcmtk/dcmiod/ioddef.h ../include/dcmtk/dcmiod/modbase.h \ @@ -2125,6 +2229,8 @@ modsegmentationseries.o: modsegmentationseries.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2191,6 +2297,7 @@ modsegmentationseries.o: modsegmentationseries.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmiod/modbase.h ../include/dcmtk/dcmiod/ioddef.h \ ../include/dcmtk/dcmiod/iodrules.h ../include/dcmtk/dcmiod/iodtypes.h \ @@ -2217,6 +2324,8 @@ modsopcommon.o: modsopcommon.cc \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2296,6 +2405,8 @@ modsynchronization.o: modsynchronization.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2370,6 +2481,8 @@ modusfor.o: modusfor.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ diff --git a/dcmiod/libsrc/Makefile.in b/dcmiod/libsrc/Makefile.in index 1b6bbc21..5cfeb145 100644 --- a/dcmiod/libsrc/Makefile.in +++ b/dcmiod/libsrc/Makefile.in @@ -20,8 +20,8 @@ LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmdatadir)/incl LOCALDEFS = -objs = iodcommn.o iodmacro.o iodimage.o iodrules.o iodutil.o iodtypes.o \ - modacquisitioncontext.o modbase.o modcommoninstanceref.o \ +objs = cielabutil.o iodcommn.o iodmacro.o iodimage.o iodrules.o iodutil.o \ + iodtypes.o modacquisitioncontext.o modbase.o modcommoninstanceref.o \ modenhequipment.o modenhusimage.o modenhusseries.o modequipment.o \ modfor.o modgeneralimage.o modgeneralseries.o modgeneralstudy.o \ modhelp.o modimagepixel.o modmultiframefg.o \ diff --git a/dcmiod/libsrc/cielabutil.cc b/dcmiod/libsrc/cielabutil.cc new file mode 100755 index 00000000..56189ebd --- /dev/null +++ b/dcmiod/libsrc/cielabutil.cc @@ -0,0 +1,209 @@ +/* + * + * Copyright (C) 2005–2010, Pascal Getreuer + * Copyright (C) 2016, Open Connections GmbH + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmiod + * + * Author: Pascal Getreuer, Michael Onken + * + * Purpose: Static helper functionality for CIE<->RGB color conversions + * + */ +#include "dcmtk/config/osconfig.h" +#include "dcmtk/dcmiod/cielabutil.h" +#define INCLUDE_CMATH // for pow() function +#include "dcmtk/ofstd/ofstdinc.h" + +// Initialize white points of D65 light point (CIELab standard white point) +const double IODCIELabUtil::D65_WHITEPOINT_X = 0.950456; +const double IODCIELabUtil::D65_WHITEPOINT_Y = 1.0; +const double IODCIELabUtil::D65_WHITEPOINT_Z = 1.088754; + + +void IODCIELabUtil::dicomLab2RGB(double& R, double& G, double& B, double LDicom, double aDicom, double bDicom) +{ + double L, a, b; + dicomlab2Lab(L, a, b, LDicom, aDicom, bDicom); + lab2Rgb(R, G, B, L, a, b); +} + + +void IODCIELabUtil::rgb2DicomLab(double& LDicom, double& aDicom, double& bDicom, double R, double G, double B) +{ + double L, a, b; + rgb2Lab(L, a, b, R, G, B); + lab2DicomLab(LDicom, aDicom, bDicom, R, G, B); +} + + +void IODCIELabUtil::dicomlab2Lab(double& L, double& a, double& b, double LDicom, double aDicom, double bDicom) +{ + L = ((LDicom * 100.0) / 65535.0); // results in 0 <= L <= 100 + a = ((aDicom * 255.0) / 65535.0) - 128; // results in -128 <= a <= 127 + b = ((bDicom * 255.0) / 65535.0) - 128; // results in -128 <= b <= 127 +} + + +void IODCIELabUtil::lab2DicomLab(double& LDicom, double& aDicom, double& bDicom, double L, double a, double b) +{ + LDicom = L * 65535.0 / 100.0; // results in 0 <= L <= 65535 + aDicom = (a + 128) * 65535.0 / 255.0; // results in 0 <= a <= 65535 + bDicom = (b + 128) * 65535.0 / 255.0; // results in 0 <= b <= 65535 +} + + +void IODCIELabUtil::rgb2Lab(double& L, double& a, double& b, double R, double G, double B) +{ + double X, Y, Z; + rgb2Xyz(X, Y, Z, R, G, B); + xyz2Lab(L, a, b, X, Y, Z); +} + + +double IODCIELabUtil::gammaCorrection(double n) +{ + if ((n) <= 0.0031306684425005883) + { + return 12.92 * (n); + } + else + { + return (1.055*pow((n), 0.416666666666666667) - 0.055); + } +} + + +double IODCIELabUtil::invGammaCorrection(double n) +{ + if ((n) <= 0.0404482362771076) + { + return ((n) / 12.92); + } + else + { + return ( pow(((n) + 0.055)/1.055, 2.4) ); + } +} + + +void IODCIELabUtil::rgb2Xyz(double& X, double& Y, double& Z, double R, double G, double B) +{ + R = invGammaCorrection(R); + G = invGammaCorrection(G); + B = invGammaCorrection(B); + X = (double)(0.4123955889674142161*R + 0.3575834307637148171*G + 0.1804926473817015735*B); + Y = (double)(0.2125862307855955516*R + 0.7151703037034108499*G + 0.07220049864333622685*B); + Z = (double)(0.01929721549174694484*R + 0.1191838645808485318*G + 0.9504971251315797660*B); +} + + +void IODCIELabUtil::xyz2Lab(double& L, double& a, double& b, double X, double Y, double Z) +{ + X /= D65_WHITEPOINT_X; + Y /= D65_WHITEPOINT_Y; + Z /= D65_WHITEPOINT_Z; + X = labf(X); + Y = labf(Y); + Z = labf(Z); + L = 116*Y - 16; + a = 500*(X - Y); + b = 200*(Y - Z); +} + + +void IODCIELabUtil::lab2Rgb(double& R, double& G, double& B, double L, double a, double b) +{ + double X, Y, Z; + lab2Xyz(X, Y, Z, L, a, b); + xyz2Rgb(R, G, B, X, Y, Z); +} + + +void IODCIELabUtil::lab2Xyz(double& X, double& Y, double& Z, double L, double a, double b) +{ + L = (L + 16)/116; + a = L + a/500; + b = L - b/200; + X = D65_WHITEPOINT_X * labfInv(a); + Y = D65_WHITEPOINT_Y * labfInv(L); + Z = D65_WHITEPOINT_Z * labfInv(b); +} + + +void IODCIELabUtil::xyz2Rgb(double& R, double& G, double& B, double X, double Y, double Z) +{ + double R1, B1, G1, Min; + + R1 = (double)( 3.2406*X - 1.5372*Y - 0.4986*Z); + G1 = (double)(-0.9689*X + 1.8758*Y + 0.0415*Z); + B1 = (double)( 0.0557*X - 0.2040*Y + 1.0570*Z); + + Min = min3(R1, G1, B1); + + /* Force nonnegative values so that gamma correction is well-defined. */ + if(Min < 0) + { + R1 -= Min; + G1 -= Min; + B1 -= Min; + } + + /* Transform from RGB to R'G'B' */ + R = gammaCorrection(R1); + G = gammaCorrection(G1); + B = gammaCorrection(B1); +} + + +double IODCIELabUtil::labf(double n) +{ + if (n >= 8.85645167903563082e-3) + { + return ( pow(n, 0.333333333333333) ); + } + else + { + return ( (841.0/108.0)*(n) + (4.0/29.0) ); + } +} + + +double IODCIELabUtil::labfInv(double n) +{ + if ( (n) >= 0.206896551724137931 ) + { + return (n)*(n)*(n); + } + else + { + return (108.0/841.0)*((n) - (4.0/29.0)); + } +} + + +double IODCIELabUtil::min(double a, double b) +{ + if (a <= b) + return a; + else + return b; +} + + +double IODCIELabUtil::min3(double a, double b, double c) +{ + if (a <= b) + return min(a,c); + else + return min (b,c); +} diff --git a/dcmiod/libsrc/iodmacro.cc b/dcmiod/libsrc/iodmacro.cc index 909a0c54..2e872564 100644 --- a/dcmiod/libsrc/iodmacro.cc +++ b/dcmiod/libsrc/iodmacro.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -536,6 +536,7 @@ OFCondition ImageSOPInstanceReferenceMacro::setReferencedFrameNumber(const OFVec OFCondition ImageSOPInstanceReferenceMacro::addReferencedFrameNumber(const Uint16& value, const OFBool checkValue) { + (void)checkValue; const unsigned long count = ReferencedFrameNumber.getVM(); return ReferencedFrameNumber.putUint16(value, count /* starts with 0, so add new value at the end */); } @@ -552,6 +553,7 @@ OFCondition ImageSOPInstanceReferenceMacro::setReferencedSegmentNumber(const OFV OFCondition ImageSOPInstanceReferenceMacro::addReferencedSegmentNumber(const Uint16& value, const OFBool checkValue) { + (void)checkValue; const unsigned long count = ReferencedSegmentNumber.getVM(); return ReferencedSegmentNumber.putUint16(value, count /* starts with 0, so add new value at the end */); @@ -1090,10 +1092,8 @@ OFCondition AlgorithmIdentificationMacro::setAlgorithmVersion(const OFString& va OFCondition AlgorithmIdentificationMacro::setAlgorithmParameters(const OFString& value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmLongText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_AlgorithmParameters.putOFStringArray(value); - return result; + (void)checkValue; + return m_AlgorithmParameters.putOFStringArray(value); } @@ -1277,6 +1277,7 @@ void ContentIdentificationMacro::clearData() OFCondition ContentIdentificationMacro::check(const OFBool quiet) { + (void)quiet; OFCondition result; OFBool failure = m_ContentLabel.isEmpty() || m_InstanceNumber.isEmpty(); if (!failure) @@ -1352,7 +1353,16 @@ OFVector& ContentI OFCondition ContentIdentificationMacro::setInstanceNumber(const OFString& value, const OFBool checkValue) { - return m_InstanceNumber.putOFStringArray(value); + OFCondition result; + if (checkValue) + { + result = (checkValue) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal; + } + if (result.good()) + { + result = m_InstanceNumber.putOFStringArray(value); + } + return result; } @@ -1604,20 +1614,16 @@ void HL7HierarchicDesignatorMacro::resetRules() OFCondition HL7HierarchicDesignatorMacro::setLocalNamespaceEntityID(const OFString& value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmUnlimitedText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_Item->putAndInsertOFStringArray(DCM_LocalNamespaceEntityID,value); - return result; + (void)checkValue; + return m_Item->putAndInsertOFStringArray(DCM_LocalNamespaceEntityID,value); } OFCondition HL7HierarchicDesignatorMacro::setUniversalEntityID(const OFString& value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmUnlimitedText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_Item->putAndInsertOFStringArray(DCM_UniversalEntityID,value); - return result; + (void) checkValue; + return m_Item->putAndInsertOFStringArray(DCM_UniversalEntityID,value); } diff --git a/dcmiod/libsrc/iodutil.cc b/dcmiod/libsrc/iodutil.cc index b4224958..721334f4 100644 --- a/dcmiod/libsrc/iodutil.cc +++ b/dcmiod/libsrc/iodutil.cc @@ -546,7 +546,7 @@ OFCondition DcmIODUtil::decompress(DcmDataset& dset) { if (EC_Normal != dset.chooseRepresentation(EXS_LittleEndianExplicit, NULL)) { - DCMIOD_ERROR("No conversion uncompressed transfer syntax possible!"); + DCMIOD_ERROR("No conversion to uncompressed transfer syntax possible!"); return IOD_EC_CannotDecompress; } } diff --git a/dcmiod/libsrc/modenhusimage.cc b/dcmiod/libsrc/modenhusimage.cc index 980ac0ee..ac77db0d 100644 --- a/dcmiod/libsrc/modenhusimage.cc +++ b/dcmiod/libsrc/modenhusimage.cc @@ -405,7 +405,16 @@ OFCondition IODEnhUSImageModule::setImageType(const DcmIODTypes::IOD_ENHUSIMAGET value += "\\"; value += derivedPixelContrast; - return m_Item->putAndInsertOFStringArray(DCM_ImageType, value); + OFCondition result; + if (checkValue) + { + result = DcmCodeString::checkStringValue(value, "2"); + } + if (result.good()) + { + result = m_Item->putAndInsertOFStringArray(DCM_ImageType, value); + } + return result; } @@ -534,7 +543,6 @@ OFCondition IODEnhUSImageModule::setLossyImageCompression(const OFString& value, OFCondition IODEnhUSImageModule::setLossyImageCompressionMethod(const OFString& value, - const unsigned long pos, const OFBool checkValue) { OFCondition result = (checkValue) ? DcmCodeString::checkStringValue(value, "1-n") : EC_Normal; @@ -596,7 +604,8 @@ OFCondition IODEnhUSImageModule::setBoneThermalIndex(const OFString& value, } -OFCondition IODEnhUSImageModule::setCranialThermalIndex(const OFString& value, const bool checkValue) +OFCondition IODEnhUSImageModule::setCranialThermalIndex(const OFString& value, + const bool checkValue) { OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal; if (result.good()) @@ -605,7 +614,8 @@ OFCondition IODEnhUSImageModule::setCranialThermalIndex(const OFString& value, c } -OFCondition IODEnhUSImageModule::setSoftTissueThermalIndex(const OFString& value, const bool checkValue) +OFCondition IODEnhUSImageModule::setSoftTissueThermalIndex(const OFString& value, + const bool checkValue) { OFCondition result = (checkValue) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal; if (result.good()) @@ -614,14 +624,19 @@ OFCondition IODEnhUSImageModule::setSoftTissueThermalIndex(const OFString& value } -OFCondition IODEnhUSImageModule::setDepthsOfFocus(const Float64 value, const long unsigned int pos, const bool checkValue) +OFCondition IODEnhUSImageModule::setDepthsOfFocus(const Float64 value, + const long unsigned int pos, + const bool checkValue) { + (void)checkValue; return m_Item->putAndInsertFloat64(DCM_DepthsOfFocus, value, pos); } -OFCondition IODEnhUSImageModule::setDepthsOfFocus(const OFVector< Float64 >& values, const bool checkValue) +OFCondition IODEnhUSImageModule::setDepthsOfFocus(const OFVector< Float64 >& values, + const bool checkValue) { + (void)checkValue; DcmElement* elem = newDicomElement(DCM_DepthsOfFocus); if (!elem) return EC_MemoryExhausted; @@ -645,7 +660,8 @@ OFCondition IODEnhUSImageModule::setDepthsOfFocus(const OFVector< Float64 >& val } -OFCondition IODEnhUSImageModule::setDepthsOfScanField(const OFString& value, const bool checkValue) +OFCondition IODEnhUSImageModule::setDepthsOfScanField(const OFString& value, + const bool checkValue) { OFCondition result = (checkValue) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal; if (result.good()) diff --git a/dcmiod/libsrc/modenhusseries.cc b/dcmiod/libsrc/modenhusseries.cc index fbce1ed2..ea9726f2 100644 --- a/dcmiod/libsrc/modenhusseries.cc +++ b/dcmiod/libsrc/modenhusseries.cc @@ -93,8 +93,7 @@ IODEnhancedUSSeriesModule::~IODEnhancedUSSeriesModule() OFCondition IODEnhancedUSSeriesModule::getModality(OFString &value, const signed long pos) const { - value = "US"; - return EC_Normal; + return DcmIODUtil::getStringValueFromItem(DCM_Modality, *m_Item, value, pos); } diff --git a/dcmiod/libsrc/modequipment.cc b/dcmiod/libsrc/modequipment.cc index 675ccbf4..10f1cde9 100644 --- a/dcmiod/libsrc/modequipment.cc +++ b/dcmiod/libsrc/modequipment.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -160,10 +160,8 @@ OFCondition IODGeneralEquipmentModule::setInstitutionName(const OFString& value, OFCondition IODGeneralEquipmentModule::setInstitutionAddress(const OFString& value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmShortText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_Item->putAndInsertOFStringArray(DCM_InstitutionAddress, value); - return result; + (void)checkValue; + return m_Item->putAndInsertOFStringArray(DCM_InstitutionAddress, value); } diff --git a/dcmiod/libsrc/modgeneralimage.cc b/dcmiod/libsrc/modgeneralimage.cc index e724b01e..c12bfb57 100644 --- a/dcmiod/libsrc/modgeneralimage.cc +++ b/dcmiod/libsrc/modgeneralimage.cc @@ -299,10 +299,8 @@ OFCondition IODGeneralImageModule::setAcquisitionDateTime(const OFString &value, OFCondition IODGeneralImageModule::setImageComments(const OFString &value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmLongText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_Item->putAndInsertOFStringArray(DCM_ImageComments, value); - return result; + (void)checkValue; + return m_Item->putAndInsertOFStringArray(DCM_ImageComments, value); } diff --git a/dcmiod/libsrc/modgeneralseries.cc b/dcmiod/libsrc/modgeneralseries.cc index 5602b04b..3577fc90 100644 --- a/dcmiod/libsrc/modgeneralseries.cc +++ b/dcmiod/libsrc/modgeneralseries.cc @@ -82,6 +82,31 @@ void IODGeneralSeriesModule::resetRules() m_Rules->addRule(new IODRule(DCM_OperatorsName, "1-n","3", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue); m_Rules->addRule(new IODRule(DCM_BodyPartExamined, "1","3", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue); m_Rules->addRule(new IODRule(DCM_PatientPosition, "1","2C", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue); + m_Rules->addRule(new IODRule(DCM_ReferencedPerformedProcedureStepSequence, "1","3", m_ModuleName, DcmIODTypes::IE_SERIES), OFTrue); +} + + +OFCondition IODGeneralSeriesModule::read(DcmItem& source, + const OFBool clearOldData) +{ + if (clearOldData) + clearData(); + + IODComponent::read(source, OFFalse /* data already cleared */); + DcmIODUtil::readSingleItem(source, DCM_ReferencedPerformedProcedureStepSequence, m_ReferencedPPS, m_Rules->getByTag(DCM_ReferencedPerformedProcedureStepSequence)); + + return EC_Normal; +} + + +OFCondition IODGeneralSeriesModule::write(DcmItem& destination) +{ + OFCondition result = EC_Normal; + + result = IODComponent::write(destination); + DcmIODUtil::writeSingleItem(result, DCM_ReferencedPerformedProcedureStepSequence, m_ReferencedPPS, destination, m_Rules->getByTag(DCM_ReferencedPerformedProcedureStepSequence)); + + return result; } @@ -193,6 +218,12 @@ OFCondition IODGeneralSeriesModule::getPatientPosition(OFString &value, } +SOPInstanceReferenceMacro& IODGeneralSeriesModule::getReferencedPPS() +{ + return m_ReferencedPPS; +} + + OFCondition IODGeneralSeriesModule::setModality(const OFString &value, const OFBool checkValue) { @@ -226,6 +257,7 @@ OFCondition IODGeneralSeriesModule::setSeriesNumber(const OFString &value, OFCondition IODGeneralSeriesModule::setLaterality(const DcmIODTypes::IOD_LATERALITY laterality, const OFBool checkValue) { + (void)checkValue; OFCondition result; switch(laterality) { diff --git a/dcmiod/libsrc/modimagepixel.cc b/dcmiod/libsrc/modimagepixel.cc index e7fb2ca7..8c934eeb 100644 --- a/dcmiod/libsrc/modimagepixel.cc +++ b/dcmiod/libsrc/modimagepixel.cc @@ -201,6 +201,7 @@ OFCondition IODImagePixelModule::setPhotometricInterpretation(const OFString& va OFCondition IODImagePixelModule::setRows(const Uint16 value, const OFBool checkValue) { + (void)checkValue; return m_Item->putAndInsertUint16(DCM_Rows, value); } @@ -208,6 +209,7 @@ OFCondition IODImagePixelModule::setRows(const Uint16 value, OFCondition IODImagePixelModule::setColumns(const Uint16 value, const OFBool checkValue) { + (void)checkValue; return m_Item->putAndInsertUint16(DCM_Columns, value); } @@ -215,6 +217,7 @@ OFCondition IODImagePixelModule::setColumns(const Uint16 value, OFCondition IODImagePixelModule::setBitsAllocated(const Uint16 value, const OFBool checkValue) { + (void)checkValue; return m_Item->putAndInsertUint16(DCM_BitsAllocated, value); } @@ -222,7 +225,7 @@ OFCondition IODImagePixelModule::setBitsAllocated(const Uint16 value, OFCondition IODImagePixelModule::setBitsStored(const Uint16 value, const OFBool checkValue) { - // TODO: check consistency between bits allocated, bits stored and high bit if possible + (void)checkValue; return m_Item->putAndInsertUint16(DCM_BitsStored, value); } @@ -230,7 +233,7 @@ OFCondition IODImagePixelModule::setBitsStored(const Uint16 value, OFCondition IODImagePixelModule::setHighBit(const Uint16 value, const OFBool checkValue) { - // TODO: check consistency between bits allocated, bits stored and high bit if possible + (void)checkValue; return m_Item->putAndInsertUint16(DCM_HighBit, value); } diff --git a/dcmiod/libsrc/modmultiframedimension.cc b/dcmiod/libsrc/modmultiframedimension.cc index 6dd6e755..d92f4f23 100644 --- a/dcmiod/libsrc/modmultiframedimension.cc +++ b/dcmiod/libsrc/modmultiframedimension.cc @@ -495,8 +495,9 @@ OFCondition IODMultiframeDimensionModule::DimensionIndexItem::setDimensionDescri OFCondition IODMultiframeDimensionModule::DimensionIndexItem::setFunctionalGroupPointer(const DcmTagKey& value, - const OFBool checkValue) + const OFBool checkValue) { + (void)checkValue; if (value == DCM_UndefinedTagKey) return EC_IllegalParameter; @@ -526,8 +527,9 @@ OFCondition IODMultiframeDimensionModule::DimensionIndexItem::setFunctionalGroup OFCondition IODMultiframeDimensionModule::DimensionIndexItem::setDimensionIndexPointer(const DcmTagKey& value, - const OFBool checkValue) + const OFBool checkValue) { + (void)checkValue; if (value == DCM_UndefinedTagKey) return EC_IllegalParameter; diff --git a/dcmiod/libsrc/modsynchronization.cc b/dcmiod/libsrc/modsynchronization.cc index 60a5ab94..9345a763 100644 --- a/dcmiod/libsrc/modsynchronization.cc +++ b/dcmiod/libsrc/modsynchronization.cc @@ -173,6 +173,7 @@ OFCondition IODSynchronizationModule::setTriggerSourceOrType(const OFString &val OFCondition IODSynchronizationModule::setSynchronizationChannel(const OFPair &value, const OFBool checkValue) { + (void)checkValue; OFCondition result = m_Item->putAndInsertUint16(DCM_SynchronizationChannel, value.first, 0); if (result.good()) { diff --git a/dcmiod/tests/CMakeLists.txt b/dcmiod/tests/CMakeLists.txt new file mode 100644 index 00000000..3a04022e --- /dev/null +++ b/dcmiod/tests/CMakeLists.txt @@ -0,0 +1,8 @@ +# declare executables +DCMTK_ADD_EXECUTABLE(dcmiod_tests tests tcielabutil) + +# make sure executables are linked to the corresponding libraries +DCMTK_TARGET_LINK_MODULES(dcmiod_tests dcmiod dcmdata oflog ofstd) + +# This macro parses tests.cc and registers all tests +DCMTK_ADD_TESTS(dcmiod) diff --git a/dcmiod/tests/Makefile.dep b/dcmiod/tests/Makefile.dep new file mode 100644 index 00000000..7ef8406f --- /dev/null +++ b/dcmiod/tests/Makefile.dep @@ -0,0 +1,90 @@ +tcielabutil.o: tcielabutil.cc \ + ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmiod/cielabutil.h ../include/dcmtk/dcmiod/ioddef.h +tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h diff --git a/dcmiod/tests/Makefile.in b/dcmiod/tests/Makefile.in index fd8adcef..9aab2c89 100644 --- a/dcmiod/tests/Makefile.in +++ b/dcmiod/tests/Makefile.in @@ -5,25 +5,55 @@ @SET_MAKE@ SHELL = /bin/sh +VPATH = @srcdir@:@top_srcdir@/include:@top_srcdir@/@configdir@/include srcdir = @srcdir@ top_srcdir = @top_srcdir@ configdir = @top_srcdir@/@configdir@ include $(configdir)/@common_makefile@ +ofstddir = $(top_srcdir)/../ofstd +oflogdir = $(top_srcdir)/../oflog +dcmdatadir = $(top_srcdir)/../dcmdata +dcmioddir = $(top_srcdir)/../dcmiod -all: +LOCALINCLUDES = -I$(dcmioddir)/include -I$(dcmdatadir)/include -I$(oflogdir)/include -I$(ofstddir)/include +LIBDIRS = -L$(top_srcdir)/libsrc -L$(dcmioddir)/libsrc -L$(dcmdatadir)/libsrc \ + -L$(oflogdir)/libsrc -L$(ofstddir)/libsrc +LOCALLIBS = -ldcmiod -ldcmdata -loflog -lofstd \ + $(TIFFLIBS) $(PNGLIBS) $(ZLIBLIBS) $(ICONVLIBS) -check: +test_objs = tests.o tcielabutil.o +objs = tests.o $(test_objs) +progs = tests -check-exhaustive: -install: +all: $(progs) + +tclabutil: tclabutil.o + $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $@.o $(LOCALLIBS) $(MATHLIBS) $(LIBS) + +tests: $(test_objs) + $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(ICONVLIBS) $(LIBS) + +install: all + + +check: tests + ./tests + +check-exhaustive: tests + ./tests -x + clean: - rm -f $(TRASH) + rm -f $(objs) $(progs) $(TRASH) distclean: - rm -f $(DISTTRASH) + rm -f $(objs) $(progs) $(DISTTRASH) + dependencies: + $(CXX) -MM $(defines) $(includes) $(CPPFLAGS) $(CXXFLAGS) *.cc > $(DEP) + +include $(DEP) diff --git a/dcmiod/tests/tcielabutil.cc b/dcmiod/tests/tcielabutil.cc new file mode 100644 index 00000000..87f98cad --- /dev/null +++ b/dcmiod/tests/tcielabutil.cc @@ -0,0 +1,129 @@ +/* + * + * Copyright (C) 2016, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmseg + * + * Author: Michael Onken + * + * Purpose: Tests for dcmiod's color conversion functionalities + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmiod/cielabutil.h" +#define INCLUDE_CSTDLIB // for srand() +#define INCLUDE_CTIME // for time() initialization of srand() +#include "dcmtk/ofstd/ofstdinc.h" + +OFTEST(dcmiod_tcielabutil) +{ + // Result variables for testing + double r1, r2, r3; + r1=r2=r3 = 0.0; + + // Test RGB -> CIELab conversion with medium values + IODCIELabUtil::rgb2Lab(r1, r2, r3 /* L,a,b */, 0.5, 0.5, 0.5); + OFCHECK( fabs(53.388 - r1) < 0.001 ); + OFCHECK( fabs(0.006 - r2) < 0.001 ); + OFCHECK( fabs(-0.010 - r3) < 0.001 ); + + // Test RGB -> CIEXYZ conversion with medium values + r1=r2=r3 = 0; + IODCIELabUtil::rgb2Xyz(r1, r2, r3 /* X,Y,Z */, 0.5, 0.5, 0.5); + OFCHECK( fabs(0.203 - r1) < 0.001 ); + OFCHECK( fabs(0.214 - r2) < 0.001 ); + OFCHECK( fabs(0.233 - r3) < 0.001 ); + + // Test RGB -> CIELab conversion with minimum value + r1=r2=r3 = 0; + IODCIELabUtil::rgb2Lab(r1, r2, r3 /* L,a,b */, 0, 0, 0); + OFCHECK( fabs(0 - r1) < 0.001 ); + OFCHECK( fabs(0 - r2) < 0.001 ); + OFCHECK( fabs(0 - r3) < 0.001 ); + + // Test RGB -> XYZ conversion with minimum values + r1=r2=r3 = 0; + IODCIELabUtil::rgb2Xyz(r1, r2, r3 /* X,Y,Z */, 0, 0, 0); + OFCHECK( fabs(0 - r1) < 0.001 ); + OFCHECK( fabs(0 - r2) < 0.001 ); + OFCHECK( fabs(0 - r3) < 0.001 ); + + // Test DICOM CIELab to "normalized" CIELab conversion with maximum values + r1=r2=r3 = 0; + IODCIELabUtil::dicomlab2Lab(r1, r2, r3, 65535, 65535, 65535 ); + OFCHECK( fabs(100 - r1) < 0.001 ); + OFCHECK( fabs(127 - r2) < 0.001 ); + OFCHECK( fabs(127 - r3) < 0.001 ); + + // Test DICOM CIELab to "normalized" CIELab conversion with minimum values + r1=r2=r3 = 0; + IODCIELabUtil::dicomlab2Lab(r1, r2, r3, 0, 0, 0 ); + OFCHECK( fabs(0 - r1) < 0.001 ); + OFCHECK( fabs(-128 - r2) < 0.001 ); + OFCHECK( fabs(-128 - r3) < 0.001 ); + + // Convert between colorspaces back and forth and check whether deviation after + // roundtrip is less than around 1 promille + + // Initialize random numbers + srand (OFstatic_cast(unsigned int, time (NULL))); + + // We do 1000 runs + for (size_t run = 0; run < 1000; run++) + { + // i1, i2, i3: Input for conversion + // r1, r2, r3: Results of conversion + // o1, o2, o3: Output of inverse conversion (should equal i1, i2, i3) + double i1, i2, i3, o1, o2, o3; + i1 = i2 = i3 = r1 = r2 = r3 = o1 = o2 = o3 = 0.0; + + // Roundtrip RGB -> CIELab -> RGB + i1 = (double)rand() / (double)RAND_MAX; + i2 = (double)rand() / (double)RAND_MAX; + i3 = (double)rand() / (double)RAND_MAX; + IODCIELabUtil::rgb2Lab(r1, r2, r3, i1, i2, i3); + IODCIELabUtil::lab2Rgb(o1, o2, o3, r1, r2, r3); + OFCHECK( fabs(i1 - o1) < 0.001 ); + OFCHECK( fabs(i2 - o2) < 0.001 ); + OFCHECK( fabs(i3 - o3) < 0.001 ); + + // Roundtrip CIELab -> DICOM CIELab -> CIELab + i1 = i2 = i3 = r1 = r2 = r3 = o1 = o2 = o3 = 0.0; + i1 = ((double)rand() / ((double)RAND_MAX)) * 100.0; + i2 = ((double)rand() / ((double)RAND_MAX)) * 255.0 - 128; + i3 = ((double)rand() / ((double)RAND_MAX)) * 255.0 - 128; + IODCIELabUtil::lab2DicomLab(r1, r2, r3, i1, i2, i3); + IODCIELabUtil::dicomlab2Lab(o1, o2, o3, r1, r2, r3); + OFCHECK( fabs(i1 - o1) < 0.001 ); + OFCHECK( fabs(i2 - o2) < 0.001 ); + OFCHECK( fabs(i3 - o3) < 0.001 ); + + // Roundtrip RGB -> CIEXYZ -> CIELab -> dicomCIELab -> RGB + i1 = i2 = i3 = r1 = r2 = r3 = o1 = o2 = o3 = 0.0; + i1 = ((double)rand() / ((double)RAND_MAX)); + i2 = ((double)rand() / ((double)RAND_MAX)); + i3 = ((double)rand() / ((double)RAND_MAX)); + IODCIELabUtil::rgb2Xyz(r1, r2, r3, i1, i2, i3); + IODCIELabUtil::xyz2Lab(o1, o2, o3, r1, r2, r3); + IODCIELabUtil::lab2DicomLab(r1, r2, r3, o1, o2, o3); + IODCIELabUtil::dicomLab2RGB(o1, o2, o3, r1, r2, r3); + + OFCHECK( fabs(i1 - o1) < 0.001 ); + OFCHECK( fabs(i2 - o2) < 0.001 ); + OFCHECK( fabs(i3 - o3) < 0.001 ); + + } +} diff --git a/dcmiod/tests/tests.cc b/dcmiod/tests/tests.cc new file mode 100644 index 00000000..3f583bfa --- /dev/null +++ b/dcmiod/tests/tests.cc @@ -0,0 +1,26 @@ +/* + * + * Copyright (C) 2016, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmiod + * + * Author: Michael Onken + * + * Purpose: main test program + * + */ + +#include "dcmtk/config/osconfig.h" +#include "dcmtk/ofstd/oftest.h" + +OFTEST_REGISTER(dcmiod_tcielabutil); +OFTEST_MAIN("dcmiod") diff --git a/dcmjpeg/apps/Makefile.dep b/dcmjpeg/apps/Makefile.dep index fde9a848..be75e57e 100644 --- a/dcmjpeg/apps/Makefile.dep +++ b/dcmjpeg/apps/Makefile.dep @@ -39,6 +39,8 @@ dcmcjpeg.o: dcmcjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -107,6 +109,7 @@ dcmcjpeg.o: dcmcjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmjpeg/djdecode.h ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -159,6 +162,8 @@ dcmdjpeg.o: dcmdjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -227,6 +232,7 @@ dcmdjpeg.o: dcmdjpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmjpeg/djdecode.h ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -275,6 +281,8 @@ dcmj2pnm.o: dcmj2pnm.cc ../../dcmimage/apps/dcm2pnm.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -343,6 +351,7 @@ dcmj2pnm.o: dcmj2pnm.cc ../../dcmimage/apps/dcm2pnm.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ @@ -416,6 +425,8 @@ dcmmkdir.o: dcmmkdir.cc ../../dcmdata/apps/dcmgpdir.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -484,6 +495,7 @@ dcmmkdir.o: dcmmkdir.cc ../../dcmdata/apps/dcmgpdir.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmdata/include/dcmtk/dcmdata/dcddirif.h \ ../../dcmimage/include/dcmtk/dcmimage/diregist.h \ diff --git a/dcmjpeg/docs/dcmmkdir.man b/dcmjpeg/docs/dcmmkdir.man index 60bd2998..0109ba23 100644 --- a/dcmjpeg/docs/dcmmkdir.man +++ b/dcmjpeg/docs/dcmmkdir.man @@ -32,6 +32,12 @@ Currently the following profiles are supported (others might be added later): (STD-GEN-BD-MPEG4-HPLV41) \li General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP\@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD) +\li General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 2D + video (STD-GEN-BD-MPEG4-HPLV42-2D) +\li General Purpose BD Interchange with MPEG-4 AVC/H.264 HiP\@Level4.2 for 3D + video (STD-GEN-BD-MPEG4-HPLV42-3D) +\li General Purpose BD Interchange with MPEG-4 AVC/H.264 Stereo HiP\@Level4.2 + (STD-GEN-BD-MPEG4-SHPLV42) \li General Purpose USB and Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG) \li General Purpose USB and Flash Memory Interchange with JPEG 2000 @@ -243,6 +249,18 @@ profiles: General Purpose BD Interchange with MPEG-4 AVC/H.264 BD-Compatible HiP@Level4.1 (STD-GEN-BD-MPEG4-HPLV41BD) + --general-bd-mpeg4-hp2d + General Purpose BD Interchange with MPEG-4 AVC/H.264 + HiP@Level4.2 for 2D video (STD-GEN-BD-MPEG4-HPLV42-2D) + + --general-bd-mpeg4-hp3d + General Purpose BD Interchange with MPEG-4 AVC/H.264 + HiP@Level4.2 for 3D video (STD-GEN-BD-MPEG4-HPLV42-3D) + + --general-bd-mpeg4-hpst + General Purpose BD Interchange with MPEG-4 AVC/H.264 + Stereo HiP@Level4.2 (STD-GEN-BD-MPEG4-SHPLV42) + -Pfl --usb-and-flash-jpeg General Purpose USB/Flash Memory Interchange with JPEG (STD-GEN-USB/MMC/CF/SD-JPEG) @@ -459,6 +477,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 2001-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2001-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmjpeg/libsrc/Makefile.dep b/dcmjpeg/libsrc/Makefile.dep index a6e247d7..6350cbaa 100644 --- a/dcmjpeg/libsrc/Makefile.dep +++ b/dcmjpeg/libsrc/Makefile.dep @@ -19,6 +19,8 @@ ddpiimpl.o: ddpiimpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -126,6 +128,8 @@ dipijpeg.o: dipijpeg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diimage.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -195,6 +199,8 @@ djcodecd.o: djcodecd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -265,6 +271,8 @@ djcodece.o: djcodece.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -359,6 +367,8 @@ djcparam.o: djcparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -409,6 +419,8 @@ djdecbas.o: djdecbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -470,6 +482,8 @@ djdecext.o: djdecext.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -532,6 +546,8 @@ djdeclol.o: djdeclol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -594,6 +610,8 @@ djdecode.o: djdecode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmjpeg/djdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ @@ -648,6 +666,8 @@ djdecpro.o: djdecpro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -710,6 +730,8 @@ djdecsps.o: djdecsps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -772,6 +794,8 @@ djdecsv1.o: djdecsv1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -833,6 +857,8 @@ djdijg12.o: djdijg12.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -886,6 +912,8 @@ djdijg16.o: djdijg16.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -939,6 +967,8 @@ djdijg8.o: djdijg8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmjpeg/djutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ @@ -993,6 +1023,8 @@ djeijg12.o: djeijg12.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ @@ -1048,6 +1080,8 @@ djeijg16.o: djeijg16.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ @@ -1103,6 +1137,8 @@ djeijg8.o: djeijg8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diutils.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ @@ -1158,6 +1194,8 @@ djencbas.o: djencbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -1219,6 +1257,8 @@ djencext.o: djencext.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -1281,6 +1321,8 @@ djenclol.o: djenclol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -1343,6 +1385,8 @@ djencode.o: djencode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmjpeg/djdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -1397,6 +1441,8 @@ djencpro.o: djencpro.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -1459,6 +1505,8 @@ djencsps.o: djencsps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -1521,6 +1569,8 @@ djencsv1.o: djencsv1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -1591,6 +1641,8 @@ djrplol.o: djrplol.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1646,6 +1698,8 @@ djrploss.o: djrploss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -1692,6 +1746,8 @@ djutils.o: djutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmimgle/include/dcmtk/dcmimgle/didefine.h \ ../include/dcmtk/dcmjpeg/djdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ diff --git a/dcmjpls/apps/Makefile.dep b/dcmjpls/apps/Makefile.dep index 8b0228e7..28bdffb6 100644 --- a/dcmjpls/apps/Makefile.dep +++ b/dcmjpls/apps/Makefile.dep @@ -39,6 +39,8 @@ dcmcjpls.o: dcmcjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -107,6 +109,7 @@ dcmcjpls.o: dcmcjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmimage/include/dcmtk/dcmimage/diregist.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \ @@ -158,6 +161,8 @@ dcmdjpls.o: dcmdjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -226,6 +231,7 @@ dcmdjpls.o: dcmdjpls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmimage/include/dcmtk/dcmimage/diregist.h \ ../../dcmimgle/include/dcmtk/dcmimgle/diregbas.h \ @@ -276,6 +282,8 @@ dcml2pnm.o: dcml2pnm.cc ../../dcmimage/apps/dcm2pnm.cc \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -344,6 +352,7 @@ dcml2pnm.o: dcml2pnm.cc ../../dcmimage/apps/dcm2pnm.cc \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmdata/include/dcmtk/dcmdata/dcrledrg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dcmimage.h \ diff --git a/dcmjpls/libcharls/Makefile.dep b/dcmjpls/libcharls/Makefile.dep index 09b842d6..e9e67ba4 100644 --- a/dcmjpls/libcharls/Makefile.dep +++ b/dcmjpls/libcharls/Makefile.dep @@ -22,7 +22,9 @@ intrface.o: intrface.cc config.h util.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h header.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h header.h \ ../../ofstd/include/dcmtk/ofstd/ofaptr.h streams.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h diff --git a/dcmjpls/libcharls/header.cc b/dcmjpls/libcharls/header.cc index 15f839ff..11c3879b 100644 --- a/dcmjpls/libcharls/header.cc +++ b/dcmjpls/libcharls/header.cc @@ -226,6 +226,7 @@ JLSInputStream::JLSInputStream(const BYTE* pdata, size_t cbyteLength) : _rect() { ::memset(&_info, 0, sizeof(_info)); + ::memset(&_rect, 0, sizeof(_rect)); } // diff --git a/dcmjpls/libsrc/Makefile.dep b/dcmjpls/libsrc/Makefile.dep index 74e6ae3b..db237192 100644 --- a/dcmjpls/libsrc/Makefile.dep +++ b/dcmjpls/libsrc/Makefile.dep @@ -40,6 +40,8 @@ djcodecd.o: djcodecd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -109,6 +111,8 @@ djcodece.o: djcodece.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -207,6 +211,8 @@ djcparam.o: djcparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -253,6 +259,8 @@ djdecode.o: djdecode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmjpls/dldefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dccodec.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -302,6 +310,8 @@ djencode.o: djencode.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmjpls/dldefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -362,6 +372,8 @@ djrparam.o: djrparam.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -407,6 +419,8 @@ djutils.o: djutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmjpls/dldefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h diff --git a/dcmnet/apps/Makefile.dep b/dcmnet/apps/Makefile.dep index e5cdec24..d18e9312 100644 --- a/dcmnet/apps/Makefile.dep +++ b/dcmnet/apps/Makefile.dep @@ -10,6 +10,8 @@ dcmrecv.o: dcmrecv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -110,6 +112,7 @@ dcmrecv.o: dcmrecv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ ../include/dcmtk/dcmnet/dcompat.h \ @@ -121,7 +124,7 @@ dcmrecv.o: dcmrecv.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \ ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \ ../include/dcmtk/dcmnet/dccfprmp.h \ - ../../ofstd/include/dcmtk/ofstd/ofmem.h + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -134,6 +137,8 @@ dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -234,6 +239,7 @@ dcmsend.o: dcmsend.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../include/dcmtk/dcmnet/dcompat.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dimse.h \ @@ -302,6 +308,8 @@ echoscu.o: echoscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -370,6 +378,8 @@ findscu.o: findscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -416,7 +426,9 @@ getscu.o: getscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ - ../../ofstd/include/dcmtk/ofstd/ofcond.h ../include/dcmtk/dcmnet/scu.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h ../include/dcmtk/dcmnet/scu.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -509,6 +521,7 @@ getscu.o: getscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/dcompat.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -535,6 +548,8 @@ movescu.o: movescu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -607,6 +622,8 @@ storescp.o: storescp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -692,6 +709,8 @@ storescu.o: storescu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ @@ -778,6 +797,8 @@ termscu.o: termscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ diff --git a/dcmnet/apps/movescu.cc b/dcmnet/apps/movescu.cc index e86bad44..6c514be4 100644 --- a/dcmnet/apps/movescu.cc +++ b/dcmnet/apps/movescu.cc @@ -1289,6 +1289,10 @@ storeSCPCallback( /* create full path name for the output file */ OFString ofname; OFStandard::combineDirAndFilename(ofname, opt_outputDirectory, cbdata->imageFileName, OFTrue /* allowEmptyDirName */); + if (OFStandard::fileExists(ofname)) + { + OFLOG_WARN(movescuLogger, "DICOM file already exists, overwriting: " << ofname); + } E_TransferSyntax xfer = opt_writeTransferSyntax; if (xfer == EXS_Unknown) xfer = (*imageDataSet)->getOriginalXfer(); diff --git a/dcmnet/docs/storescp.man b/dcmnet/docs/storescp.man index 8b705e43..72c3fbce 100644 --- a/dcmnet/docs/storescp.man +++ b/dcmnet/docs/storescp.man @@ -604,6 +604,7 @@ SpatialFiducialsStorage 1.2.840.10008.5.1.4.1.1.66. DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3 SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4 SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5 +TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6 RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67 SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1 SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2 @@ -652,6 +653,7 @@ XRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88. RadiopharmaceuticalRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.68 ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69 ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70 +AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71 EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1 EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2 PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128 @@ -676,6 +678,7 @@ DICONDE_EddyCurrentImageStorage 1.2.840.10008.5.1.4.1.1.601 DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2 DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1 RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7 +RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10 GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1 ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1 ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1 @@ -837,6 +840,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 1996-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1996-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmnet/etc/storescp.cfg b/dcmnet/etc/storescp.cfg index a2514233..24db9157 100644 --- a/dcmnet/etc/storescp.cfg +++ b/dcmnet/etc/storescp.cfg @@ -1,5 +1,5 @@ # -# Copyright (C) 2003-2015, OFFIS e.V. +# Copyright (C) 2003-2016, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -201,6 +201,7 @@ PresentationContext128 = DRAFT_WaveformStorage\UncompressedOrZlib # # the following SOP classes are missing in the above list: # +# - AcquisitionContextSRStorage # - BreastProjectionXRayImageStorageForPresentation # - BreastProjectionXRayImageStorageForProcessing # - CompositingPlanarMPRVolumetricPresentationStateStorage @@ -211,6 +212,8 @@ PresentationContext128 = DRAFT_WaveformStorage\UncompressedOrZlib # - LegacyConvertedEnhancedPETImageStorage # - ParametricMapStorage # - RadiopharmaceuticalRadiationDoseSRStorage +# - RTBrachyApplicationSetupDeliveryInstructionStorage +# - TractographyResultsStorage # - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage # - WideFieldOphthalmicPhotography3DCoordinatesImageStorage # diff --git a/dcmnet/etc/storescu.cfg b/dcmnet/etc/storescu.cfg index 47605be6..4d3f6d6e 100644 --- a/dcmnet/etc/storescu.cfg +++ b/dcmnet/etc/storescu.cfg @@ -1,5 +1,5 @@ # -# Copyright (C) 2003-2015, OFFIS e.V. +# Copyright (C) 2003-2016, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -199,6 +199,7 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # # the following SOP classes are missing in the above list: # +# - AcquisitionContextSRStorage # - ArterialPulseWaveformStorage # - AutorefractionMeasurementsStorage # - BasicStructuredDisplayStorage @@ -239,6 +240,7 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - RealWorldValueMappingStorage # - RespiratoryWaveformStorage # - RTBeamsDeliveryInstructionStorage +# - RTBrachyApplicationSetupDeliveryInstructionStorage # - RTIonBeamsTreatmentRecordStorage # - RTIonPlanStorage # - SegmentationStorage @@ -247,6 +249,7 @@ PresentationContext128 = VideoPhotographicImageStorage\MPEG2 # - SurfaceScanMeshStorage # - SurfaceScanPointCloudStorage # - SurfaceSegmentationStorage +# - TractographyResultsStorage # - VisualAcuityMeasurementsStorage # - VLWholeSlideMicroscopyImageStorage # - WideFieldOphthalmicPhotographyStereographicProjectionImageStorage diff --git a/dcmnet/include/dcmtk/dcmnet/dccftsmp.h b/dcmnet/include/dcmtk/dcmnet/dccftsmp.h index d89c13ab..22c4e168 100644 --- a/dcmnet/include/dcmtk/dcmnet/dccftsmp.h +++ b/dcmnet/include/dcmtk/dcmnet/dccftsmp.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2015, OFFIS e.V. + * Copyright (C) 1994-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -15,7 +15,7 @@ * * Author: Marco Eichelberg * - * Purpose: + * Purpose: * class DcmTransferSyntaxMap * */ @@ -63,12 +63,6 @@ public: */ OFMap::const_iterator end(); - /** get transfer syntax list denoted by given key - * @param ts the name of the transfer syntax list - * @param the transfer syntax list - */ - const DcmTransferSyntaxList* getTSList(const OFString& ts); - /** Resets DcmTransferSyntaxMap and frees any allocated memory */ void clear(); @@ -85,9 +79,7 @@ public: * @param transferSyntaxUID transfer syntax UID * @return EC_Normal if successful, an error code otherwise */ - OFCondition add( - const char *key, - const char *transferSyntaxUID); + OFCondition add(const char *key, const char *transferSyntaxUID); /** checks if the key is known * @param key key name, must not be NULL diff --git a/dcmnet/include/dcmtk/dcmnet/diutil.h b/dcmnet/include/dcmtk/dcmnet/diutil.h index 4b32d463..101affe9 100644 --- a/dcmnet/include/dcmtk/dcmnet/diutil.h +++ b/dcmnet/include/dcmtk/dcmnet/diutil.h @@ -132,4 +132,16 @@ DCMTK_DCMNET_EXPORT const char *DU_nactionStatusString(Uint16 statusCode); DCMTK_DCMNET_EXPORT const char *DU_ndeleteStatusString(Uint16 statusCode); DCMTK_DCMNET_EXPORT const char *DU_neventReportStatusString(Uint16 statusCode); +/** Logs result of a select() call. According to the select() documentation, + * a value of > 1 means that data has arrived. This is logged on TRACE level + * since it should be a very regular case. If select() returns 0, a timeout + * has occured, and in case of -1 another error happened (e.g. interrupt). + * These two events are logged to DEBUG log level. + * Note that this function makes use of errno (Unix) or WSAGetLastError() + * (Windows aka Winsock), so it must be called right after the select() call + * since otherwise the error might be already cleared or modified. + * @param selectReturnValue The return value returned by select() + */ +DCMTK_DCMNET_EXPORT void DU_logSelectResult(int selectReturnValue); + #endif diff --git a/dcmnet/include/dcmtk/dcmnet/dstorscu.h b/dcmnet/include/dcmtk/dcmnet/dstorscu.h index 73f62c87..d6510533 100644 --- a/dcmnet/include/dcmtk/dcmnet/dstorscu.h +++ b/dcmnet/include/dcmtk/dcmnet/dstorscu.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2014, OFFIS e.V. + * Copyright (C) 2011-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -265,7 +265,7 @@ class DCMTK_DCMNET_EXPORT DcmStorageSCU * conformance. If OFFalse, only empty values are rejected. * @return status, EC_Normal if successful, an error code otherwise */ - OFCondition addDicomFile(const OFString &filename, + OFCondition addDicomFile(const OFFilename &filename, const E_FileReadMode readMode = ERM_fileOnly, const OFBool checkValues = OFTrue); @@ -371,7 +371,7 @@ class DCMTK_DCMNET_EXPORT DcmStorageSCU * @param transferSyntaxUID Transfer Syntax UID of the SOP instance to be * transferred */ - TransferEntry(const OFString &filename, + TransferEntry(const OFFilename &filename, const E_FileReadMode readMode, const OFString &sopClassUID, const OFString &sopInstanceUID, @@ -398,7 +398,7 @@ class DCMTK_DCMNET_EXPORT DcmStorageSCU ~TransferEntry(); /// filename of the SOP instance to be transferred (if no 'Dataset' given) - const OFString Filename; + const OFFilename Filename; /// read mode that should be used to read the given SOP instance from file const E_FileReadMode FileReadMode; /// dataset of the SOP instance to be transferred (if no 'Filename' given) @@ -450,12 +450,10 @@ class DCMTK_DCMNET_EXPORT DcmStorageSCU * only empty values are rejected. * @return status, EC_Normal if successful, an error code otherwise */ - OFCondition addDicomFilesFromDICOMDIR(const OFString &filename, + OFCondition addDicomFilesFromDICOMDIR(const OFFilename &filename, const E_FileReadMode readMode, const OFBool checkValues); - // --- static methods --- - /** check given SOP Class UID, SOP Instance UID and Transfer Syntax UID for validity and * conformance to the DICOM standard. For all UID values, the compliance with the * requirements of the value representation "Unique Identifier" (UI) and value @@ -464,6 +462,8 @@ class DCMTK_DCMNET_EXPORT DcmStorageSCU * For the Transfer Syntax UID, it is checked whether it is known and generally * supported. Further checks will be performed when the list of presentation contexts is * created for the association negotiation. + * This method is called for each SOP instance that is added to the transfer list by one + * of the following methods: addDicomFile(), addDataset(), addDicomFilesFromDICOMDIR() * @param sopClassUID value of the SOP Class UID to be checked * @param sopInstanceUID value of the SOP Instance UID to be checked * @param transferSyntaxUID value of the Transfer Syntax UID to be checked @@ -472,10 +472,10 @@ class DCMTK_DCMNET_EXPORT DcmStorageSCU * are rejected. * @return status, EC_Normal if successful, an error code otherwise */ - static OFCondition checkSOPInstance(const OFString &sopClassUID, - const OFString &sopInstanceUID, - const OFString &transferSyntaxUID, - const OFBool checkValues); + virtual OFCondition checkSOPInstance(const OFString &sopClassUID, + const OFString &sopInstanceUID, + const OFString &transferSyntaxUID, + const OFBool checkValues); /** This method is called each time a SOP instance is sent to a peer. Since it is called * after the SOP instance has been processed, the transfer entry passed to this method diff --git a/dcmnet/include/dcmtk/dcmnet/scp.h b/dcmnet/include/dcmtk/dcmnet/scp.h index 24f93e47..dfe0c0bf 100644 --- a/dcmnet/include/dcmtk/dcmnet/scp.h +++ b/dcmnet/include/dcmtk/dcmnet/scp.h @@ -30,6 +30,7 @@ #include "dcmtk/dcmnet/assoc.h" #include "dcmtk/dcmnet/dimse.h" /* DIMSE network layer */ #include "dcmtk/dcmnet/scpcfg.h" +#include "dcmtk/dcmnet/diutil.h" /* for DCMNET_WARN() */ #ifdef WITH_ZLIB #include /* for zlibVersion() */ @@ -653,9 +654,26 @@ protected: * @param reqDataset [out] Pointer to the dataset received * @return status, EC_Normal if successful, an error code otherwise */ + virtual OFCondition receiveFINDRequest(T_DIMSE_C_FindRQ &reqMessage, + const T_ASC_PresentationContextID presID, + DcmDataset *&reqDataset); + + /** Handle C-FIND request. This function is deprecated and will be removed in + * the future. For now it calls receiveFINDRequest() which should be used + * instead. + * @param reqMessage [in] The C-FIND request message that was received + * @param presID [in] The presentation context to be used. By default, the + * presentation context of the request is used. + * @param reqDataset [out] Pointer to the dataset received + * @return status, EC_Normal if successful, an error code otherwise + */ virtual OFCondition handleFINDRequest(T_DIMSE_C_FindRQ &reqMessage, const T_ASC_PresentationContextID presID, - DcmDataset *&reqDataset); + DcmDataset *&reqDataset) + { + DCMNET_WARN("handleFINDRequest() is deprecated, use receiveFINDRequest() instead"); + return receiveFINDRequest(reqMessage, presID, reqDataset); + } /** Respond to the C-FIND request * @param presID [in] The presentation context ID to respond to @@ -706,10 +724,29 @@ protected: * @param moveDest [out] The move destination where to send the instances * @return status, EC_Normal if successful, an error code otherwise */ + virtual OFCondition receiveMOVERequest(T_DIMSE_C_MoveRQ &reqMessage, + const T_ASC_PresentationContextID presID, + DcmDataset *&reqDataset, + OFString &moveDest); + + /** Receive C-MOVE request on the currently active association. This function + * is deprecated and will be removed in the future. For now it calls + * receiveMOVERequest() which should be used instead. + * @param reqMessage [in] The C-MOVE request message that was received + * @param presID [in] The presentation context to be used. By default, the + * presentation context of the request is used. + * @param reqDataset [out] Pointer to the dataset received + * @param moveDest [out] The move destination where to send the instances + * @return status, EC_Normal if successful, an error code otherwise + */ virtual OFCondition handleMOVERequest(T_DIMSE_C_MoveRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset, - OFString &moveDest); + OFString &moveDest) + { + DCMNET_WARN("handleMOVERequest() is deprecated, use receiveMOVERequest() instead"); + return receiveMOVERequest(reqMessage, presID, reqDataset, moveDest); + } /** Respond to the C-MOVE request * @param presID [in] The presentation context ID to respond to @@ -754,10 +791,29 @@ protected: * @param actionTypeID [out] Action Type ID from the command set received * @return status, EC_Normal if successful, an error code otherwise */ + virtual OFCondition receiveACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage, + const T_ASC_PresentationContextID presID, + DcmDataset *&reqDataset, + Uint16 &actionTypeID); + + /** Receive N-ACTION request on the currently opened association. This + * function is deprecated and will be removed in the future. For now it calls + * receiveACTIONRequest() which should be used instead. + * @param reqMessage [in] The N-ACTION request message that was received + * @param presID [in] The presentation context to be used. By default, the + * presentation context of the request is used. + * @param reqDataset [out] Pointer to the dataset received + * @param actionTypeID [out] Action Type ID from the command set received + * @return status, EC_Normal if successful, an error code otherwise + */ virtual OFCondition handleACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage, const T_ASC_PresentationContextID presID, DcmDataset *&reqDataset, - Uint16 &actionTypeID); + Uint16 &actionTypeID) + { + DCMNET_WARN("handleACTIONRequest() is deprecated, use receiveACTIONRequest() instead"); + return receiveACTIONRequest(reqMessage, presID, reqDataset, actionTypeID); + } /** Respond to the N-ACTION request * @param presID [in] The presentation context ID to respond to diff --git a/dcmnet/include/dcmtk/dcmnet/scu.h b/dcmnet/include/dcmtk/dcmnet/scu.h index c1acb81d..20900519 100644 --- a/dcmnet/include/dcmtk/dcmnet/scu.h +++ b/dcmnet/include/dcmtk/dcmnet/scu.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2008-2014, OFFIS e.V. + * Copyright (C) 2008-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -291,7 +291,7 @@ public: * failure of the storage request, EC_Normal will be returned. */ virtual OFCondition sendSTORERequest(const T_ASC_PresentationContextID presID, - const OFString &dicomFile, + const OFFilename &dicomFile, DcmDataset *dataset, Uint16 &rspStatusCode, const OFString &moveOriginatorAETitle = "", diff --git a/dcmnet/libsrc/Makefile.dep b/dcmnet/libsrc/Makefile.dep index 8ac78d31..7804750e 100644 --- a/dcmnet/libsrc/Makefile.dep +++ b/dcmnet/libsrc/Makefile.dep @@ -44,6 +44,8 @@ assoc.o: assoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -124,6 +126,8 @@ dcasccff.o: dcasccff.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -184,6 +188,8 @@ dcasccfg.o: dcasccfg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -301,6 +307,8 @@ dccfrsmp.o: dccfrsmp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -369,6 +377,8 @@ dccfuidh.o: dccfuidh.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h dcmlayer.o: dcmlayer.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -429,6 +439,8 @@ dcmtrans.o: dcmtrans.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -490,6 +502,8 @@ dcompat.o: dcompat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/diutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ @@ -555,6 +569,8 @@ dcuserid.o: dcuserid.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h dulstruc.h dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dfindscu.h \ @@ -598,6 +614,8 @@ dfindscu.o: dfindscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -672,6 +690,8 @@ dimcancl.o: dimcancl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -702,6 +722,8 @@ dimcmd.o: dimcmd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -797,6 +819,8 @@ dimdump.o: dimdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -858,6 +882,8 @@ dimecho.o: dimecho.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -919,6 +945,8 @@ dimfind.o: dimfind.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -980,6 +1008,8 @@ dimget.o: dimget.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1042,6 +1072,8 @@ dimmove.o: dimmove.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1103,6 +1135,8 @@ dimse.o: dimse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1186,6 +1220,8 @@ dimstore.o: dimstore.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1205,18 +1241,23 @@ dimstore.o: dimstore.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h diutil.o: diutil.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \ - ../include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmnet/diutil.h ../include/dcmtk/dcmnet/dicom.h \ + ../include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -1245,10 +1286,7 @@ diutil.o: diutil.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1311,6 +1349,8 @@ dstorscp.o: dstorscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1381,6 +1421,7 @@ dstorscp.o: dstorscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ @@ -1438,6 +1479,8 @@ dstorscu.o: dstorscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -1506,6 +1549,7 @@ dstorscu.o: dstorscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/dcompat.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -1564,6 +1608,8 @@ dul.o: dul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ @@ -1627,6 +1673,8 @@ dulconst.o: dulconst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/diutil.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ @@ -1689,12 +1737,25 @@ dulextra.o: dulextra.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../include/dcmtk/dcmnet/extneg.h ../include/dcmtk/dcmnet/dcuserid.h \ dulstruc.h dulpriv.h ../include/dcmtk/dcmnet/dcmtrans.h \ - ../include/dcmtk/dcmnet/dcmlayer.h + ../include/dcmtk/dcmnet/dcmlayer.h ../include/dcmtk/dcmnet/diutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../include/dcmtk/dcmnet/dimse.h ../include/dcmtk/dcmnet/assoc.h dulfsm.o: dulfsm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ @@ -1740,6 +1801,8 @@ dulfsm.o: dulfsm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1762,16 +1825,21 @@ dulfsm.o: dulfsm.cc ../../config/include/dcmtk/config/osconfig.h \ dulparse.o: dulparse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ - ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ - ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmnet/dicom.h ../include/dcmtk/dcmnet/cond.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmnet/dndefine.h ../include/dcmtk/dcmnet/dcompat.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ @@ -1800,10 +1868,7 @@ dulparse.o: dulparse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ - ../../ofstd/include/dcmtk/ofstd/ofstd.h \ - ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1866,6 +1931,8 @@ dulpres.o: dulpres.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -1932,6 +1999,8 @@ scp.o: scp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2002,6 +2071,7 @@ scp.o: scp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ @@ -2064,6 +2134,8 @@ scpcfg.o: scpcfg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmnet/lst.h ../include/dcmtk/dcmnet/dul.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2127,6 +2199,8 @@ scppool.o: scppool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2197,6 +2271,7 @@ scppool.o: scppool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ @@ -2250,6 +2325,8 @@ scpthrd.o: scpthrd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2320,6 +2397,7 @@ scpthrd.o: scpthrd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ @@ -2374,6 +2452,8 @@ scu.o: scu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2442,6 +2522,7 @@ scu.o: scu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/dcompat.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h \ diff --git a/dcmnet/libsrc/assoc.cc b/dcmnet/libsrc/assoc.cc index ea7f9abd..22cacce9 100644 --- a/dcmnet/libsrc/assoc.cc +++ b/dcmnet/libsrc/assoc.cc @@ -1684,6 +1684,10 @@ ASC_associationWaiting(T_ASC_Network * network, int timeout) #else nfound = select(s + 1, &fdset, NULL, NULL, &t); #endif + if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + DU_logSelectResult(nfound); + } return nfound > 0; } diff --git a/dcmnet/libsrc/dccftsmp.cc b/dcmnet/libsrc/dccftsmp.cc index 6ea6dee8..c78b6183 100644 --- a/dcmnet/libsrc/dccftsmp.cc +++ b/dcmnet/libsrc/dccftsmp.cc @@ -77,15 +77,6 @@ OFMap::const_iterator DcmTransferSyntaxMap::en return map_.end(); } -const DcmTransferSyntaxList* DcmTransferSyntaxMap::getTSList(const OFString& ts) -{ - OFMap::const_iterator it = map_.begin(); - if ( it == map_.end() ) - { - return NULL; - } - return (*it).second; -} void DcmTransferSyntaxMap::clear() { @@ -97,7 +88,6 @@ void DcmTransferSyntaxMap::clear() } } - size_t DcmTransferSyntaxMap::size() const { return map_.size(); diff --git a/dcmnet/libsrc/dcmtrans.cc b/dcmnet/libsrc/dcmtrans.cc index 892bd57c..3e289184 100644 --- a/dcmnet/libsrc/dcmtrans.cc +++ b/dcmnet/libsrc/dcmtrans.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1998-2012, OFFIS e.V. + * Copyright (C) 1998-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -193,6 +193,10 @@ OFBool DcmTransportConnection::fastSelectReadableAssociation(DcmTransportConnect #else int nfound = select(maxsocketfd + 1, &fdset, NULL, NULL, &t); #endif + if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + DU_logSelectResult(nfound); + } if (nfound<=0) return OFFalse; /* none available for reading */ for (i=0; i #endif +#include "dcmtk/ofstd/ofstd.h" #include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmdata/dcdatset.h" #include "dcmtk/dcmdata/dcfilefo.h" @@ -854,3 +855,37 @@ DU_neventReportStatusString(Uint16 statusCode) } return s; } + +void DU_logSelectResult(int selectReturnValue) +{ + if (selectReturnValue < 0) + { +#ifdef HAVE_WINSOCK_H + LPVOID errBuf = NULL; + OFString err; + // Obtain an error string from system error code + if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), OFreinterpret_cast(LPTSTR, &errBuf), 0, NULL) > 0) + { + err = (OFstatic_cast(const char *, errBuf)); + } else + err = "Unknown Winsock error code"; + LocalFree(errBuf); + DCMNET_DEBUG("Windows Socket error while waiting for incoming network data: " << err); +#else + // POSIX interface + char buf[256]; + DCMNET_DEBUG("Error while waiting for incoming network data: " << OFStandard::strerror(errno, buf, 256)); +#endif + } + else if (selectReturnValue == 0) + { + DCMNET_DEBUG("Timeout while waiting for incoming network data"); + } + else + { + // This function is only meant to be used for return values <= 0, handle + // normal case anyway + DCMNET_TRACE("Receiving data via select()"); + } +} diff --git a/dcmnet/libsrc/dstorscu.cc b/dcmnet/libsrc/dstorscu.cc index 96beda6f..c26d410a 100644 --- a/dcmnet/libsrc/dstorscu.cc +++ b/dcmnet/libsrc/dstorscu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2011-2015, OFFIS e.V. + * Copyright (C) 2011-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -61,7 +61,7 @@ static const OFString &dicomToHostFilename(const OFString &dicomFilename, // implementation of the internal class/struct for a single transfer entry -DcmStorageSCU::TransferEntry::TransferEntry(const OFString &filename, +DcmStorageSCU::TransferEntry::TransferEntry(const OFFilename &filename, const E_FileReadMode readMode, const OFString &sopClassUID, const OFString &sopInstanceUID, @@ -358,13 +358,13 @@ OFCondition DcmStorageSCU::removeSOPInstance(const OFString &sopClassUID, } -OFCondition DcmStorageSCU::addDicomFile(const OFString &filename, +OFCondition DcmStorageSCU::addDicomFile(const OFFilename &filename, const E_FileReadMode readMode, const OFBool checkValues) { OFCondition status = EC_IllegalParameter; // check for non-empty filename - if (!filename.empty()) + if (!filename.isEmpty()) { DCMNET_DEBUG("adding DICOM file '" << filename << "'"); const size_t numInstances = TransferList.size(); @@ -464,20 +464,20 @@ OFCondition DcmStorageSCU::addDataset(DcmDataset *dataset, } -OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFString &filename, +OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFFilename &filename, const E_FileReadMode readMode, const OFBool checkValues) { DCMNET_DEBUG("adding DICOM files referenced from '" << filename << "'"); // read the DICOMDIR file (always require meta-header to be present) DcmFileFormat fileformat; - OFCondition status = fileformat.loadFile(filename.c_str(), EXS_Unknown, EGL_noChange, DCM_MaxReadLength, ERM_fileOnly); + OFCondition status = fileformat.loadFile(filename, EXS_Unknown, EGL_noChange, DCM_MaxReadLength, ERM_fileOnly); if (status.good()) { DcmStack stack; // do not use the DcmDirectoryRecord class, but access the data elements directly DcmDataset *dataset = fileformat.getDataset(); - OFString dirName; + OFFilename dirName; OFStandard::getDirNameFromPath(dirName, filename, OFFalse /* assumeDirName */); // iterate over all items (directory records) where ReferencedFileID is present while (dataset->search(DCM_ReferencedFileID, stack, ESM_afterStackTop, OFTrue).good()) @@ -485,7 +485,8 @@ OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFString &filename, // make sure that the dataset and element pointer are there if (stack.card() > 1) { - OFString pathName, fileID, sopClassUID, sopInstanceUID, transferSyntaxUID; + OFFilename pathName; + OFString fileID, sopClassUID, sopInstanceUID, transferSyntaxUID; // first, get the name of the referenced DICOM file DcmElement *element = OFstatic_cast(DcmElement *, stack.top()); if (element != NULL) @@ -508,9 +509,9 @@ OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFString &filename, if (status.good()) { OFString tmpString; + const OFFilename tmpFilename(dicomToHostFilename(fileID, tmpString), pathName.usesWideChars() /*convert*/); // consider that the value of ReferencedFileID is relative to the DICOMDIR - OFStandard::combineDirAndFilename(pathName, dirName, dicomToHostFilename(fileID, tmpString), - OFTrue /* allowEmptyDirName */); + OFStandard::combineDirAndFilename(pathName, dirName, tmpFilename, OFTrue /* allowEmptyDirName */); // create a new entry ... TransferEntry *entry = new TransferEntry(pathName, readMode, sopClassUID, sopInstanceUID, transferSyntaxUID); if (entry != NULL) @@ -528,7 +529,7 @@ OFCondition DcmStorageSCU::addDicomFilesFromDICOMDIR(const OFString &filename, DCMNET_DEBUG("successfully added SOP instance " << sopInstanceUID << " to the transfer list"); } else { DCMNET_ERROR("cannot add DICOM file from DICOMDIR to the transfer list: " - << (pathName.empty() ? fileID : pathName) << ": " << status.text()); + << (pathName.isEmpty() ? fileID : pathName) << ": " << status.text()); } } else { DCMNET_ERROR("cannot add DICOM file from DICOMDIR with empty filename"); @@ -806,7 +807,7 @@ OFCondition DcmStorageSCU::sendSOPInstances() break; } // output debug information on the SOP instance to be sent - if ((*CurrentTransferEntry)->Filename.empty()) + if ((*CurrentTransferEntry)->Filename.isEmpty()) { if ((*CurrentTransferEntry)->Dataset != NULL) { @@ -825,11 +826,17 @@ OFCondition DcmStorageSCU::sendSOPInstances() } else { DCMNET_DEBUG("sending SOP instance from file: " << (*CurrentTransferEntry)->Filename); // load SOP instance from DICOM file - status = fileformat.loadFile((*CurrentTransferEntry)->Filename.c_str(), EXS_Unknown, EGL_noChange, + status = fileformat.loadFile((*CurrentTransferEntry)->Filename, EXS_Unknown, EGL_noChange, DCM_MaxReadLength, (*CurrentTransferEntry)->FileReadMode); - // do not store the dataset pointer in the transfer entry, because this pointer - // will become invalid for the next iteration of this while-loop. - dataset = fileformat.getDataset(); + if (status.good()) + { + // do not store the dataset pointer in the transfer entry, because this pointer + // will become invalid for the next iteration of this while-loop. + dataset = fileformat.getDataset(); + } else { + DCMNET_ERROR("cannot send SOP instance from file: " << (*CurrentTransferEntry)->Filename + << ": " << status.text()); + } } // send SOP instance to the peer using a C-STORE request message if (status.good()) @@ -870,7 +877,7 @@ OFCondition DcmStorageSCU::sendSOPInstances() // ... remember that this SOP instance has already been sent (*CurrentTransferEntry)->RequestSent = OFTrue; // check whether we need to compact or delete the dataset - if ((*CurrentTransferEntry)->Filename.empty() && ((*CurrentTransferEntry)->Dataset != NULL)) + if ((*CurrentTransferEntry)->Filename.isEmpty() && ((*CurrentTransferEntry)->Dataset != NULL)) { if ((*CurrentTransferEntry)->DatasetHandlingMode == HM_compactAfterSend) { @@ -914,7 +921,7 @@ OFCondition DcmStorageSCU::sendSOPInstances() } -void DcmStorageSCU::notifySOPInstanceSent(const TransferEntry &transferEntry) +void DcmStorageSCU::notifySOPInstanceSent(const TransferEntry & /*transferEntry*/) { // do nothing in the default implementation } @@ -1040,7 +1047,7 @@ OFCondition DcmStorageSCU::createReportFile(const OFString &filename) const { DcmXfer orgXfer((*transferEntry)->TransferSyntaxUID.c_str()); stream << "Number : " << (++counter) << OFendl; - if (!(*transferEntry)->Filename.empty()) + if (!(*transferEntry)->Filename.isEmpty()) stream << "Filename : " << (*transferEntry)->Filename << OFendl; stream << "SOP Instance : " << (*transferEntry)->SOPInstanceUID << OFendl; stream << "SOP Class : " << (*transferEntry)->SOPClassUID << " = " diff --git a/dcmnet/libsrc/dul.cc b/dcmnet/libsrc/dul.cc index 434681a1..1bb8c564 100644 --- a/dcmnet/libsrc/dul.cc +++ b/dcmnet/libsrc/dul.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2012, OFFIS e.V. + * Copyright (C) 1994-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -380,7 +380,7 @@ DUL_InitializeNetwork(const char *mode, ** ** ** Algorithm: -** Close the socket and free the memeory occupied by the network key +** Close the socket and free the memory occupied by the network key */ OFCondition DUL_DropNetwork(DUL_NETWORKKEY ** callerNetworkKey) @@ -1450,8 +1450,8 @@ DUL_DefaultServiceParameters(DUL_ASSOCIATESERVICEPARAMETERS * params) "", /* Called implementation class UID */ "", /* Called implementation vers name */ 0, /* peer max pdu */ - NULL, /* Requested Extended Negotation List */ - NULL, /* Accepted Extended Negotation List */ + NULL, /* Requested Extended Negotiation List */ + NULL, /* Accepted Extended Negotiation List */ NULL, /* Requested User Identify Negotiation */ NULL, /* Accepted User Identify Negotiation */ OFFalse /* don't use Secure Transport Layer */ @@ -1591,6 +1591,10 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, nfound = select((*network)->networkSpecific.TCP.listenSocket + 1, &fdset, NULL, NULL, &timeout_val); #endif + if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + DU_logSelectResult(nfound); + } if (nfound > 0) { if (FD_ISSET((*network)->networkSpecific.TCP.listenSocket, &fdset)) connected++; @@ -1618,6 +1622,10 @@ receiveTransportConnectionTCP(PRIVATE_NETWORKKEY ** network, nfound = select((*network)->networkSpecific.TCP.listenSocket + 1, &fdset, NULL, NULL, &timeout_val); #endif + if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + DU_logSelectResult(nfound); + } if (nfound > 0) { if (FD_ISSET((*network)->networkSpecific.TCP.listenSocket, &fdset)) @@ -2072,7 +2080,7 @@ initializeNetworkTCP(PRIVATE_NETWORKKEY ** key, void *parameter) int sock; struct sockaddr_in server; - /* Create socket for internet type communication */ + /* Create socket for Internet type communication */ (*key)->networkSpecific.TCP.port = *(int *) parameter; (*key)->networkSpecific.TCP.listenSocket = socket(AF_INET, SOCK_STREAM, 0); sock = (*key)->networkSpecific.TCP.listenSocket; @@ -2127,7 +2135,14 @@ initializeNetworkTCP(PRIVATE_NETWORKKEY ** key, void *parameter) return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str()); } #endif - listen(sock, PRV_LISTENBACKLOG); + /* Listen on the socket */ + if (listen(sock, PRV_LISTENBACKLOG) < 0) + { + char buf[256]; + OFString msg = "TCP Initialization Error: "; + msg += OFStandard::strerror(errno, buf, sizeof(buf)); + return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str()); + } } (*key)->networkSpecific.TCP.tLayer = new DcmTransportLayer((*key)->applicationFunction); @@ -2411,7 +2426,7 @@ static SC_MAP scMap[] = { ** Display the contents of the presentation context list ** ** Parameter Dictionary: -** l Head of the list of various presentation conmtexts. +** l Head of the list of various presentation contexts. ** ** Return Values: ** @@ -2650,7 +2665,7 @@ clearRequestorsParams(DUL_ASSOCIATESERVICEPARAMETERS * params) /* clearPresentationContext ** ** Purpose: -** Free the memory oocupied by the given presentation context. +** Free the memory occupied by the given presentation context. ** ** Parameter Dictionary: ** l Head of list of the presentation contexts to be freed. diff --git a/dcmnet/libsrc/dulextra.cc b/dcmnet/libsrc/dulextra.cc index f80c9211..f7d143fd 100644 --- a/dcmnet/libsrc/dulextra.cc +++ b/dcmnet/libsrc/dulextra.cc @@ -97,6 +97,7 @@ #include "dulstruc.h" #include "dulpriv.h" #include "dcmtk/dcmnet/dcmtrans.h" +#include "dcmtk/dcmnet/diutil.h" OFBool DUL_dataWaiting(DUL_ASSOCIATIONKEY * callerAssociation, int timeout) @@ -152,6 +153,10 @@ DUL_associationWaiting(DUL_NETWORKKEY * callerNet, int timeout) #else nfound = select(s + 1, &fdset, NULL, NULL, &t); #endif + if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + DU_logSelectResult(nfound); + } if (nfound <= 0) assocWaiting = OFFalse; else { diff --git a/dcmnet/libsrc/dulfsm.cc b/dcmnet/libsrc/dulfsm.cc index edf7f30d..eadee9c4 100644 --- a/dcmnet/libsrc/dulfsm.cc +++ b/dcmnet/libsrc/dulfsm.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2012, OFFIS e.V. + * Copyright (C) 1994-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -1391,7 +1391,7 @@ DT_2_IndicatePData(PRIVATE_NETWORKKEY ** /*network*/, } /* if after having counted the PDVs the length variable does not equal */ - /* 0, the PDV lenghts did not add up correctly. Something is fishy. */ + /* 0, the PDV lengths did not add up correctly. Something is fishy. */ if (length != 0) { char buf[256]; @@ -2242,9 +2242,9 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, Sint32 connectTimeout = dcmConnectionTimeout.get(); #ifdef HAVE_WINSOCK_H - u_long arg = TRUE; + u_long arg = TRUE; #else - int flags = 0; + int flags = 0; #endif if (connectTimeout >= 0) @@ -2259,7 +2259,10 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, } // depending on the socket mode, connect will block or return immediately - int rc = connect(s, (struct sockaddr *) & server, sizeof(server)); + int rc; + do { + rc = connect(s, (struct sockaddr *) & server, sizeof(server)); + } while (rc == -1 && errno == EINTR); #ifdef HAVE_WINSOCK_H if (rc == SOCKET_ERROR && WSAGetLastError() == WSAEWOULDBLOCK) @@ -2281,7 +2284,14 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, timeout.tv_sec = connectTimeout; timeout.tv_usec = 0; - rc = select(s+1, NULL, &fdSet, NULL, &timeout); + do { + rc = select(s + 1, NULL, &fdSet, NULL, &timeout); + } while (rc == -1 && errno == EINTR); + + if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + DU_logSelectResult(rc); + } // reset socket to blocking mode #ifdef HAVE_WINSOCK_H @@ -2364,7 +2374,7 @@ requestAssociationTCP(PRIVATE_NETWORKKEY ** network, if (rc < 0) { - // an error other than timeout in non-blocking mode has occured, + // an error other than timeout in non-blocking mode has occurred, // either in connect() or in select(). #ifdef HAVE_WINSOCK_H (void) shutdown(s, 1 /* SD_SEND */); @@ -2963,7 +2973,7 @@ sendPDataTCP(PRIVATE_ASSOCIATIONKEY ** association, /* because the current PDV's length can be greater than maxLength, we need */ /* to start another loop so that we are able to send data gradually. So, */ /* as long as this is the first iteration or length is greater than 0 and */ - /* at the same time no error occured, do the following */ + /* at the same time no error occurred, do the following */ firstTrip = OFTrue; while ((firstTrip || (length > 0)) && (cond.good())) { /* indicate that the first iteration has been executed */ @@ -3307,8 +3317,8 @@ readPDUHead(PRIVATE_ASSOCIATIONKEY ** association, *PDULength = (*association)->nextPDULength; /* check if the value in the length field of the PDU shows a legal value; */ - /* there is a maximum lenght for PDUs which shall be sent over the network. */ - /* the lenght of this PDU must not be greater than the specified maximum length. */ + /* there is a maximum length for PDUs which shall be sent over the network. */ + /* the length of this PDU must not be greater than the specified maximum length. */ /* (bugfix - thanks to B. Gorissen, Philips Medical Systems) */ if ((*PDUType == DUL_TYPEDATA) && (*PDULength > (*association)->maxPDVInput)) { @@ -3616,7 +3626,7 @@ defragmentTCP(DcmTransportConnection *connection, DUL_BLOCKOPTIONS block, time_t while (l > 0) { /* receive data from the network connection; wait until */ - /* we actually did receive data or an error occured */ + /* we actually did receive data or an error occurred */ do { /* if DUL_NOBLOCK is specified as a blocking option, we only want to wait a certain @@ -3647,7 +3657,7 @@ defragmentTCP(DcmTransportConnection *connection, DUL_BLOCKOPTIONS block, time_t if (rtnLen != NULL) *rtnLen += (unsigned long) bytesRead; } else { - /* in case we did not receive any data, an error must have occured; return a corresponding result value */ + /* in case we did not receive any data, an error must have occurred; return a corresponding result value */ return DUL_NETWORKCLOSED; } } @@ -3765,7 +3775,7 @@ setTCPBufferLength(int sock) ** internalList Input list from which the two output lists ** are derived ** SCUSCPRoleList Role list (returned to the caller) -** userContextList User context list (returend to the caller) +** userContextList User context list (returned to the caller) ** ** Return Values: ** @@ -3880,7 +3890,7 @@ findPresentationCtx( /* findSCUSCPRole ** ** Purpose: -** Search for a SCUSCP role list, given the abstarct syntax as the +** Search for a SCUSCP role list, given the abstract syntax as the ** key. ** ** Parameter Dictionary: diff --git a/dcmnet/libsrc/dulparse.cc b/dcmnet/libsrc/dulparse.cc index e07a0caa..8a10d323 100644 --- a/dcmnet/libsrc/dulparse.cc +++ b/dcmnet/libsrc/dulparse.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 1994-2011, OFFIS e.V. + * Copyright (C) 1994-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were partly developed by @@ -69,6 +69,7 @@ #include "dcmtk/ofstd/ofstdinc.h" #include "dcmtk/ofstd/ofstream.h" +#include "dcmtk/ofstd/ofstd.h" // for OFStandard::safeSubtract() and safeAdd() #include "dcmtk/dcmnet/dicom.h" #include "dcmtk/dcmnet/cond.h" #include "dcmtk/dcmnet/lst.h" @@ -109,6 +110,9 @@ static OFCondition makeLengthError(const char *pdu, unsigned long bufSize, unsigned long minSize = 0, unsigned long length = 0); +static OFCondition +makeUnderflowError(const char *pdu, unsigned long minuend, unsigned long subtrahend); + /* parseAssociate ** ** Purpose: @@ -119,7 +123,7 @@ makeLengthError(const char *pdu, unsigned long bufSize, unsigned long minSize = ** buf Buffer holding the PDU in the stream format ** pduLength Length of the buffer ** assoc The Associate PDU to be extracted -** (returend to the caller) +** (returned to the caller) ** ** Return Values: ** @@ -236,6 +240,8 @@ parseAssociate(unsigned char *buf, unsigned long pduLength, DCMNET_TRACE("Successfully parsed Presentation Context"); break; case DUL_TYPEUSERINFO: + // parse user info, which can contain several sub-items like User + // Identity Negotiation or SOP Class Extended Negotiation cond = parseUserInfo(&assoc->userInfo, buf, &itemLength, assoc->type, pduLength); if (cond.bad()) return cond; @@ -246,7 +252,8 @@ parseAssociate(unsigned char *buf, unsigned long pduLength, default: cond = parseDummy(buf, &itemLength, pduLength); buf += itemLength; - pduLength -= itemLength; + if (!OFStandard::safeSubtract(pduLength, itemLength, pduLength)) + return makeUnderflowError("unknown item type", pduLength, itemLength); break; } } @@ -405,7 +412,8 @@ parsePresentationContext(unsigned char type, default: cond = parseDummy(buf, &length, presentationLength); buf += length; - presentationLength -= length; + if (!OFStandard::safeSubtract(presentationLength, length, presentationLength)) + return makeUnderflowError("unknown presentation context type", presentationLength, length); break; } } @@ -440,7 +448,7 @@ parseUserInfo(DUL_USERINFO * userInfo, unsigned char *buf, unsigned long *itemLength, unsigned char typeRQorAC, - unsigned long availData) + unsigned long availData /* bytes left for in this PDU */) { unsigned short userLength; unsigned long length; @@ -449,25 +457,34 @@ parseUserInfo(DUL_USERINFO * userInfo, SOPClassExtendedNegotiationSubItem *extNeg = NULL; UserIdentityNegotiationSubItem *usrIdent = NULL; - // The minimum allowed size is 4 byte, else we read past the buffer end + // minimum allowed size is 4 byte (case where the length of the user data is 0), + // else we read past the buffer end if (availData < 4) return makeLengthError("user info", availData, 4); + // skip item type (50H) field userInfo->type = *buf++; + // skip unused ("reserved") field userInfo->rsv1 = *buf++; + // get and remeber announced length of user data EXTRACT_SHORT_BIG(buf, userInfo->length); + // .. and skip over the two length field bytes buf += 2; + // userLength contains announced length of full user item structure, + // will be used here to count down the available data later userLength = userInfo->length; + // itemLength contains full length of the user item including the 4 bytes extra header (type, reserved + 2 for length) *itemLength = userLength + 4; - // Does this item claim to be larger than the available data? - if (availData - 4 < userLength) + // does this item claim to be larger than the available data? + if (availData < *itemLength) return makeLengthError("user info", availData, 0, userLength); DCMNET_TRACE("Parsing user info field (" << STD_NAMESPACE hex << STD_NAMESPACE setfill('0') << STD_NAMESPACE setw(2) << (unsigned int)userInfo->type << STD_NAMESPACE dec << "), Length: " << (unsigned long)userInfo->length); + // parse through different types of user items as long as we have data while (userLength > 0) { DCMNET_TRACE("Parsing remaining " << (long)userLength << " bytes of User Information" << OFendl << "Next item type: " @@ -493,7 +510,8 @@ parseUserInfo(DUL_USERINFO * userInfo, case DUL_TYPEASYNCOPERATIONS: cond = parseDummy(buf, &length, userLength); buf += length; - userLength -= (unsigned short) length; + if (!OFStandard::safeSubtract(userLength, OFstatic_cast(short unsigned int, length), userLength)) + return makeLengthError("asynchronous operation user item type", userLength, length); break; case DUL_TYPESCUSCPROLE: role = (PRV_SCUSCPROLE*)malloc(sizeof(PRV_SCUSCPROLE)); @@ -545,9 +563,14 @@ parseUserInfo(DUL_USERINFO * userInfo, userLength -= (unsigned short) length; break; default: - cond = parseDummy(buf, &length, userLength); + // we hit an unknown user item that is not defined in the standard + // or still unknown to DCMTK + cond = parseDummy(buf, &length /* returns bytes "handled" by parseDummy */, userLength /* data available in bytes for user item */); + // skip the bytes read buf += length; - userLength -= (unsigned short) length; + // subtract bytes of parsed data from available data bytes + if (!OFStandard::safeSubtract(userLength, OFstatic_cast(unsigned short, length), userLength)) + return makeUnderflowError("unknown user item", userLength, length); break; } } @@ -604,8 +627,9 @@ parseMaxPDU(DUL_MAXLENGTH * max, unsigned char *buf, ** User Length ** ** Parameter Dictionary: -** buf The buffer that is to be parsed -** itemLength Length of structure extracted. +** buf The buffer that is to be parsed (input/output value) +** itemLength Length of structure extracted (output value) +* availData Number of bytes announced to be available for this sub item (input value) ** ** Return Values: ** @@ -617,23 +641,26 @@ parseMaxPDU(DUL_MAXLENGTH * max, unsigned char *buf, static OFCondition parseDummy(unsigned char *buf, unsigned long *itemLength, unsigned long availData) { - unsigned short - userLength; - // Is there enough data for the length field? if (availData < 4) return makeLengthError("dummy item", availData, 4); + // Get announced length of this sub-item and skip over the bytes read + // 1 byte item-type (e.g. 58H for User Identity Negotiation), 1 byte reserved, + // and 2 bytes length field + unsigned short userLength; buf++; buf++; EXTRACT_SHORT_BIG(buf, userLength); buf += 2; + // Return full length (announced + 4 extra bytes) + *itemLength = userLength + 4; + // Is there less data than the length field claims there is? if (availData - 4 < userLength) return makeLengthError("dummy item", availData, 0, userLength); - *itemLength = userLength + 4; return EC_Normal; } @@ -682,8 +709,11 @@ parseSCUSCPRole(PRV_SCUSCPROLE * role, unsigned char *buf, if (role->length - 4 < UIDLength) return makeLengthError("SCU-SCP role list UID", role->length, 0, UIDLength); - (void) memcpy(role->SOPClassUID, buf, UIDLength); - role->SOPClassUID[UIDLength] = '\0'; + OFStandard::strlcpy(role->SOPClassUID, (char*)buf, sizeof(role->SOPClassUID)); + if (UIDLength > sizeof(role->SOPClassUID)) + { + DCMNET_WARN("Provided role SOP Class UID " << role->SOPClassUID << " is shorter than its announced length " << UIDLength << " (ignored)"); + } buf += UIDLength; role->SCURole = *buf++; role->SCPRole = *buf++; @@ -705,7 +735,6 @@ parseSCUSCPRole(PRV_SCUSCPROLE * role, unsigned char *buf, ** Return Values: ** */ - static OFCondition parseExtNeg(SOPClassExtendedNegotiationSubItem* extNeg, unsigned char *buf, unsigned long *length, unsigned long availData) @@ -795,6 +824,31 @@ makeLengthError(const char *pdu, unsigned long bufSize, unsigned long minSize, return ret; } +/* makeUnderflowError + * + * This function is used to generate the OFCondition code if an underflow + * computation has been detected. + * + * @param pdu The name of the field or PDU which caused the invalid computation + * @param minuend The field (probably length) subtracted from + * @param subtrahend The number subtracted from minuend + */ +static OFCondition +makeUnderflowError(const char *pdu, unsigned long minuend, + unsigned long subtrahend) +{ + OFStringStream stream; + stream << "DUL Illegal " << pdu << ". Got " << minuend << " bytes of data and told to subtrat " << subtrahend << " bytes of data"; + stream << "." << OFStringStream_ends; + + OFCondition ret; + OFSTRINGSTREAM_GETSTR(stream, tmpString) + ret = makeDcmnetCondition(DULC_INCORRECTBUFFERLENGTH, OF_error, tmpString); + OFSTRINGSTREAM_FREESTR(tmpString) + return ret; +} + + /* trim_trailing_spaces ** ** Purpose: diff --git a/dcmnet/libsrc/scp.cc b/dcmnet/libsrc/scp.cc index f7405f66..af52ad90 100644 --- a/dcmnet/libsrc/scp.cc +++ b/dcmnet/libsrc/scp.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2009-2015, OFFIS e.V. + * Copyright (C) 2009-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -22,7 +22,6 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmnet/scp.h" -#include "dcmtk/dcmnet/diutil.h" #include "dcmtk/dcmnet/assoc.h" #include "dcmtk/dcmdata/dcostrmf.h" /* for class DcmOutputFileStream */ @@ -801,9 +800,9 @@ Uint16 DcmSCP::checkSTORERequest(T_DIMSE_C_StoreRQ & /*reqMessage*/, // -- C-FIND -- -OFCondition DcmSCP::handleFINDRequest(T_DIMSE_C_FindRQ &reqMessage, - const T_ASC_PresentationContextID presID, - DcmDataset *&reqDataset) +OFCondition DcmSCP::receiveFINDRequest(T_DIMSE_C_FindRQ &reqMessage, + const T_ASC_PresentationContextID presID, + DcmDataset *&reqDataset) { // Do some basic validity checks if (m_assoc == NULL) @@ -916,10 +915,10 @@ OFCondition DcmSCP::checkForCANCEL(T_ASC_PresentationContextID presID, // -- C-MOVE -- -OFCondition DcmSCP::handleMOVERequest(T_DIMSE_C_MoveRQ &reqMessage, - const T_ASC_PresentationContextID presID, - DcmDataset *&reqDataset, - OFString &moveDest) +OFCondition DcmSCP::receiveMOVERequest(T_DIMSE_C_MoveRQ &reqMessage, + const T_ASC_PresentationContextID presID, + DcmDataset *&reqDataset, + OFString &moveDest) { // Do some basic validity checks if (m_assoc == NULL) @@ -1040,10 +1039,10 @@ OFCondition DcmSCP::sendMOVEResponse(const T_ASC_PresentationContextID presID, // -- N-ACTION -- -OFCondition DcmSCP::handleACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage, - const T_ASC_PresentationContextID presID, - DcmDataset *&reqDataset, - Uint16 &actionTypeID) +OFCondition DcmSCP::receiveACTIONRequest(T_DIMSE_N_ActionRQ &reqMessage, + const T_ASC_PresentationContextID presID, + DcmDataset *&reqDataset, + Uint16 &actionTypeID) { // Do some basic validity checks if (m_assoc == NULL) @@ -1895,21 +1894,21 @@ void DcmSCP::notifyAssociationRequest(const T_ASC_Parameters ¶ms, // ---------------------------------------------------------------------------- -OFBool DcmSCP::checkCalledAETitleAccepted(const OFString& calledAETitle) +OFBool DcmSCP::checkCalledAETitleAccepted(const OFString& /*calledAETitle*/) { return OFTrue; } // ---------------------------------------------------------------------------- -OFBool DcmSCP::checkCallingAETitleAccepted(const OFString& callingAETitle) +OFBool DcmSCP::checkCallingAETitleAccepted(const OFString& /*callingAETitle*/) { return OFTrue; } // ---------------------------------------------------------------------------- -OFBool DcmSCP::checkCallingHostAccepted(const OFString& hostOrIP) +OFBool DcmSCP::checkCallingHostAccepted(const OFString& /*hostOrIP*/) { return OFTrue; } diff --git a/dcmnet/libsrc/scu.cc b/dcmnet/libsrc/scu.cc index 315eec86..1e0ecd41 100644 --- a/dcmnet/libsrc/scu.cc +++ b/dcmnet/libsrc/scu.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2008-2014, OFFIS e.V. + * Copyright (C) 2008-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -680,7 +680,7 @@ OFCondition DcmSCU::sendECHORequest(const T_ASC_PresentationContextID presID) // Sends C-STORE request to another DICOM application OFCondition DcmSCU::sendSTORERequest(const T_ASC_PresentationContextID presID, - const OFString &dicomFile, + const OFFilename &dicomFile, DcmDataset *dataset, Uint16 &rspStatusCode, const OFString &moveOriginatorAETitle, @@ -705,12 +705,12 @@ OFCondition DcmSCU::sendSTORERequest(const T_ASC_PresentationContextID presID, req->MessageID = nextMessageID(); /* Load file if necessary */ DcmFileFormat *fileformat = NULL; - if (!dicomFile.empty()) + if (!dicomFile.isEmpty()) { fileformat = new DcmFileFormat(); if (fileformat == NULL) return EC_MemoryExhausted; - cond = fileformat->loadFile(dicomFile.c_str()); + cond = fileformat->loadFile(dicomFile); if (cond.bad()) { delete fileformat; @@ -729,7 +729,7 @@ OFCondition DcmSCU::sendSTORERequest(const T_ASC_PresentationContextID presID, if (sopClassUID.empty() || sopInstanceUID.empty() || ((pcid == 0) && (xferSyntax == EXS_Unknown))) { DCMNET_ERROR("Cannot send SOP instance, missing information:"); - if (!dicomFile.empty()) + if (!dicomFile.isEmpty()) DCMNET_ERROR(" DICOM Filename : " << dicomFile); DCMNET_ERROR(" SOP Class UID : " << sopClassUID); DCMNET_ERROR(" SOP Instance UID : " << sopInstanceUID); @@ -799,6 +799,7 @@ OFCondition DcmSCU::sendSTORERequest(const T_ASC_PresentationContextID presID, OFString xferName = xfer.getXferName(); DCMNET_ERROR("No presentation context found for sending C-STORE with SOP Class / Transfer Syntax: " << sopClassName << " / " << xferName); + delete fileformat; return DIMSE_NOVALIDPRESENTATIONCONTEXTID; } @@ -1370,8 +1371,12 @@ OFCondition DcmSCU::handleSTORERequest(const T_ASC_PresentationContextID /* pres } OFString filename = createStorageFilename(incomingObject); + if (OFStandard::fileExists(filename)) + { + DCMNET_WARN("DICOM file already exists, overwriting: " << filename); + } DcmFileFormat dcmff(incomingObject, OFFalse /* do not copy but take ownership */); - result = dcmff.saveFile(filename.c_str()); + result = dcmff.saveFile(filename); if (result.good()) { E_TransferSyntax xferSyntax; @@ -1388,8 +1393,8 @@ OFCondition DcmSCU::handleSTORERequest(const T_ASC_PresentationContextID /* pres } OFCondition DcmSCU::handleSTORERequestFile(T_ASC_PresentationContextID *presID, - const OFString& filename, - T_DIMSE_C_StoreRQ* request) + const OFString &filename, + T_DIMSE_C_StoreRQ *request) { if (filename.empty()) return EC_IllegalParameter; @@ -1413,7 +1418,7 @@ OFCondition DcmSCU::handleSTORERequestFile(T_ASC_PresentationContextID *presID, delete filestream; if (cond != EC_Normal) { - unlink(filename.c_str()); + OFStandard::deleteFile(filename); } DCMNET_DEBUG("Received dataset on presentation context " << OFstatic_cast(unsigned int, *presID)); } @@ -1482,7 +1487,7 @@ OFString DcmSCU::createStorageFilename(DcmDataset *dataset) OFCondition DcmSCU::ignoreSTORERequest(T_ASC_PresentationContextID presID, - const T_DIMSE_C_StoreRQ& request) + const T_DIMSE_C_StoreRQ &request) { /* We cannot create the filestream, so ignore the incoming dataset and return an out-of-resources error to the SCU */ @@ -1500,9 +1505,9 @@ OFCondition DcmSCU::ignoreSTORERequest(T_ASC_PresentationContextID presID, } -void DcmSCU::notifyInstanceStored(const OFString& filename, - const OFString& sopClassUID, - const OFString& sopInstanceUID) const +void DcmSCU::notifyInstanceStored(const OFString &filename, + const OFString &sopClassUID, + const OFString &sopInstanceUID) const { DCMNET_DEBUG("Stored instance to disk:"); DCMNET_DEBUG(" Filename: " << filename); diff --git a/dcmnet/tests/Makefile.dep b/dcmnet/tests/Makefile.dep index da9df024..e7e8333e 100644 --- a/dcmnet/tests/Makefile.dep +++ b/dcmnet/tests/Makefile.dep @@ -16,6 +16,8 @@ tdump.o: tdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -81,6 +83,8 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -123,6 +127,8 @@ tpool.o: tpool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -216,6 +222,7 @@ tpool.o: tpool.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmnet/assoc.h ../include/dcmtk/dcmnet/dicom.h \ ../include/dcmtk/dcmnet/cond.h ../include/dcmtk/dcmnet/dndefine.h \ @@ -228,4 +235,5 @@ tpool.o: tpool.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmnet/dccfuidh.h ../include/dcmtk/dcmnet/dccfpcmp.h \ ../include/dcmtk/dcmnet/dccfrsmp.h ../include/dcmtk/dcmnet/dccfenmp.h \ ../include/dcmtk/dcmnet/dccfprmp.h \ - ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/scu.h + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmnet/diutil.h \ + ../include/dcmtk/dcmnet/scu.h diff --git a/dcmpstat/apps/Makefile.dep b/dcmpstat/apps/Makefile.dep index 91abd2bd..c76e1031 100644 --- a/dcmpstat/apps/Makefile.dep +++ b/dcmpstat/apps/Makefile.dep @@ -15,6 +15,8 @@ dcmmkcrv.o: dcmmkcrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -107,6 +109,7 @@ dcmmkcrv.o: dcmmkcrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dcmmklut.o: dcmmklut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ @@ -149,6 +152,8 @@ dcmmklut.o: dcmmklut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -217,6 +222,7 @@ dcmmklut.o: dcmmklut.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmimgle/include/dcmtk/dcmimgle/dicrvfit.h \ ../../dcmimgle/include/dcmtk/dcmimgle/digsdfn.h \ @@ -263,6 +269,8 @@ dcmp2pgm.o: dcmp2pgm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ @@ -335,6 +343,7 @@ dcmp2pgm.o: dcmp2pgm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -417,6 +426,8 @@ dcmprscp.o: dcmprscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -490,6 +501,7 @@ dcmprscp.o: dcmprscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -568,6 +580,8 @@ dcmprscu.o: dcmprscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmpstat/dviface.h ../include/dcmtk/dcmpstat/dvpscf.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -641,6 +655,7 @@ dcmprscu.o: dcmprscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -704,6 +719,8 @@ dcmpschk.o: dcmpschk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -796,6 +813,7 @@ dcmpschk.o: dcmpschk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ @@ -829,6 +847,8 @@ dcmpsmk.o: dcmpsmk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -921,6 +941,7 @@ dcmpsmk.o: dcmpsmk.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ ../../dcmnet/include/dcmtk/dcmnet/extneg.h \ @@ -978,6 +999,8 @@ dcmpsprt.o: dcmpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ @@ -1050,6 +1073,7 @@ dcmpsprt.o: dcmpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -1133,6 +1157,8 @@ dcmpsrcv.o: dcmpsrcv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmpstat/dvpscf.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1226,6 +1252,7 @@ dcmpsrcv.o: dcmpsrcv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ ../include/dcmtk/dcmpstat/dvpsgal.h ../include/dcmtk/dcmpstat/dvpscul.h \ @@ -1276,6 +1303,8 @@ dcmpssnd.o: dcmpssnd.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmpstat/dvpscf.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ diff --git a/dcmpstat/libsrc/Makefile.dep b/dcmpstat/libsrc/Makefile.dep index 92bd7893..85a137e0 100644 --- a/dcmpstat/libsrc/Makefile.dep +++ b/dcmpstat/libsrc/Makefile.dep @@ -40,6 +40,8 @@ dcmpstat.o: dcmpstat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -108,6 +110,7 @@ dcmpstat.o: dcmpstat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpsovl.h \ ../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsgll.h \ @@ -166,6 +169,8 @@ dviface.o: dviface.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ @@ -238,6 +243,7 @@ dviface.o: dviface.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -300,6 +306,7 @@ dviface.o: dviface.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmsr/include/dcmtk/dcmsr/dsdefine.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ + ../../dcmsr/include/dcmtk/dcmsr/dsrposcn.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrtnant.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrdoctn.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrcodvl.h \ @@ -321,6 +328,7 @@ dviface.o: dviface.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrimgse.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrwavvl.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrrtpl.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrctpl.h \ ../../dcmsr/include/dcmtk/dcmsr/dsrsoprf.h \ @@ -361,6 +369,8 @@ dvpsab.o: dvpsab.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -425,6 +435,8 @@ dvpsabl.o: dvpsabl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -488,6 +500,8 @@ dvpsal.o: dvpsal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -543,6 +557,8 @@ dvpsall.o: dvpsall.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -642,6 +658,7 @@ dvpsall.o: dvpsall.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsgl.h dvpscf.o: dvpscf.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -684,6 +701,8 @@ dvpscf.o: dvpscf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ @@ -732,6 +751,8 @@ dvpscu.o: dvpscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -801,6 +822,7 @@ dvpscu.o: dvpscu.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../ofstd/include/dcmtk/ofstd/ofbmanip.h dvpscul.o: dvpscul.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -818,6 +840,8 @@ dvpscul.o: dvpscul.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -900,6 +924,8 @@ dvpsda.o: dvpsda.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -968,6 +994,7 @@ dvpsda.o: dvpsda.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsril.h ../include/dcmtk/dcmpstat/dvpstyp.h \ ../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsri.h \ @@ -989,6 +1016,8 @@ dvpsdal.o: dvpsdal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1085,6 +1114,7 @@ dvpsdal.o: dvpsdal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsril.h ../include/dcmtk/dcmpstat/dvpsri.h dvpsfs.o: dvpsfs.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1130,6 +1160,8 @@ dvpsfs.o: dvpsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1198,6 +1230,7 @@ dvpsfs.o: dvpsfs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -1273,6 +1306,8 @@ dvpsga.o: dvpsga.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ @@ -1345,6 +1380,7 @@ dvpsga.o: dvpsga.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsgr.h dvpsgal.o: dvpsgal.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1362,6 +1398,8 @@ dvpsgal.o: dvpsgal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1461,6 +1499,7 @@ dvpsgal.o: dvpsgal.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsgr.h ../include/dcmtk/dcmpstat/dvpsri.h dvpsgl.o: dvpsgl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1505,6 +1544,8 @@ dvpsgl.o: dvpsgl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1573,6 +1614,7 @@ dvpsgl.o: dvpsgl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsdef.h dvpsgll.o: dvpsgll.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1590,6 +1632,8 @@ dvpsgll.o: dvpsgll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1686,6 +1730,7 @@ dvpsgll.o: dvpsgll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsdef.h ../include/dcmtk/dcmpstat/dvpsgal.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -1735,6 +1780,8 @@ dvpsgr.o: dvpsgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1803,6 +1850,7 @@ dvpsgr.o: dvpsgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ ../include/dcmtk/dcmpstat/dvpsdef.h @@ -1821,6 +1869,8 @@ dvpsgrl.o: dvpsgrl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -1917,6 +1967,7 @@ dvpsgrl.o: dvpsgrl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpstyp.h dvpshlp.o: dvpshlp.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1934,6 +1985,8 @@ dvpshlp.o: dvpshlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2033,6 +2086,7 @@ dvpshlp.o: dvpshlp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dvpsib.o: dvpsib.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ @@ -2050,6 +2104,8 @@ dvpsib.o: dvpsib.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2145,6 +2201,7 @@ dvpsib.o: dvpsib.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -2176,6 +2233,8 @@ dvpsibl.o: dvpsibl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2272,6 +2331,7 @@ dvpsibl.o: dvpsibl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -2329,6 +2389,8 @@ dvpsmsg.o: dvpsmsg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2380,6 +2442,8 @@ dvpsov.o: dvpsov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2448,6 +2512,7 @@ dvpsov.o: dvpsov.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsdef.h dvpsovl.o: dvpsovl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2465,6 +2530,8 @@ dvpsovl.o: dvpsovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -2561,6 +2628,7 @@ dvpsovl.o: dvpsovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dvpspl.o: dvpspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -2579,6 +2647,8 @@ dvpspl.o: dvpspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -2688,6 +2758,8 @@ dvpspl2.o: dvpspl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -2781,6 +2853,8 @@ dvpspll.o: dvpspll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -2862,6 +2936,7 @@ dvpspll.o: dvpspll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ @@ -2903,6 +2978,8 @@ dvpspr.o: dvpspr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmpstat/dvpspr.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ @@ -2981,6 +3058,8 @@ dvpsprt.o: dvpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -3057,6 +3136,7 @@ dvpsprt.o: dvpsprt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -3099,6 +3179,8 @@ dvpsri.o: dvpsri.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -3158,6 +3240,8 @@ dvpsril.o: dvpsril.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3225,6 +3309,8 @@ dvpsrs.o: dvpsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -3287,6 +3373,8 @@ dvpsrsl.o: dvpsrsl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3387,6 +3475,8 @@ dvpssp.o: dvpssp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -3462,6 +3552,7 @@ dvpssp.o: dvpssp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -3547,6 +3638,8 @@ dvpsspl.o: dvpsspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -3623,6 +3716,7 @@ dvpsspl.o: dvpsspl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpsovl.h ../include/dcmtk/dcmpstat/dvpsgll.h \ ../include/dcmtk/dcmpstat/dvpsrsl.h ../include/dcmtk/dcmpstat/dvpsall.h \ @@ -3664,6 +3758,8 @@ dvpssv.o: dvpssv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3734,6 +3830,8 @@ dvpssvl.o: dvpssvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -3826,6 +3924,8 @@ dvpstat.o: dvpstat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3894,6 +3994,7 @@ dvpstat.o: dvpstat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dvpsovl.h \ ../include/dcmtk/dcmpstat/dpdefine.h ../include/dcmtk/dcmpstat/dvpsgll.h \ @@ -3970,6 +4071,8 @@ dvpstx.o: dvpstx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4038,6 +4141,7 @@ dvpstx.o: dvpstx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpstyp.h ../include/dcmtk/dcmpstat/dpdefine.h \ ../include/dcmtk/dcmpstat/dvpsdef.h @@ -4056,6 +4160,8 @@ dvpstxl.o: dvpstxl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -4152,6 +4258,7 @@ dvpstxl.o: dvpstxl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpstyp.h dvpsvl.o: dvpsvl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4197,6 +4304,8 @@ dvpsvl.o: dvpsvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4265,6 +4374,7 @@ dvpsvl.o: dvpsvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmpstat/dvpssv.h ../include/dcmtk/dcmpstat/dvpsril.h \ ../include/dcmtk/dcmpstat/dvpsdef.h ../include/dcmtk/dcmpstat/dvpsri.h @@ -4283,6 +4393,8 @@ dvpsvll.o: dvpsvll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -4379,6 +4491,7 @@ dvpsvll.o: dvpsvll.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dvpsvw.o: dvpsvw.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmpstat/dvpsvw.h ../include/dcmtk/dcmpstat/dpdefine.h \ @@ -4424,6 +4537,8 @@ dvpsvw.o: dvpsvw.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ @@ -4490,6 +4605,7 @@ dvpsvw.o: dvpsvw.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dvpsvwl.o: dvpsvwl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ @@ -4537,6 +4653,8 @@ dvpsvwl.o: dvpsvwl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -4602,6 +4720,8 @@ dvsighdl.o: dvsighdl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ diff --git a/dcmpstat/tests/Makefile.dep b/dcmpstat/tests/Makefile.dep index cb75cd5c..3bceee7e 100644 --- a/dcmpstat/tests/Makefile.dep +++ b/dcmpstat/tests/Makefile.dep @@ -39,6 +39,8 @@ msgserv.o: msgserv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmnet/include/dcmtk/dcmnet/dcmtrans.h \ @@ -53,4 +55,18 @@ msgserv.o: msgserv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ - ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h + ../../dcmnet/include/dcmtk/dcmnet/dcuserid.h \ + ../../dcmnet/include/dcmtk/dcmnet/diutil.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ + ../../dcmnet/include/dcmtk/dcmnet/lst.h \ + ../../dcmnet/include/dcmtk/dcmnet/assoc.h diff --git a/dcmpstat/tests/msgserv.cc b/dcmpstat/tests/msgserv.cc index 5a890133..19514776 100644 --- a/dcmpstat/tests/msgserv.cc +++ b/dcmpstat/tests/msgserv.cc @@ -58,6 +58,7 @@ END_EXTERN_C #include "dcmtk/dcmdata/dcuid.h" #include "dcmtk/dcmnet/dcompat.h" /* compatability routines */ #include "dcmtk/dcmnet/dul.h" +#include "dcmtk/dcmnet/diutil.h" #define OFFIS_CONSOLE_APPLICATION "msgserv" @@ -208,6 +209,10 @@ int main(int argc, char *argv[]) nfound = select(s + 1, &fdset, NULL, NULL, &t); #endif + if (DCM_dcmnetLogger.isEnabledFor(OFLogger::DEBUG_LOG_LEVEL)) + { + DU_logSelectResult(nfound); + } if (nfound > 0) { diff --git a/dcmqrdb/apps/Makefile.dep b/dcmqrdb/apps/Makefile.dep index 1571d436..708bae4f 100644 --- a/dcmqrdb/apps/Makefile.dep +++ b/dcmqrdb/apps/Makefile.dep @@ -15,6 +15,8 @@ dcmqridx.o: dcmqridx.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -87,6 +89,8 @@ dcmqrscp.o: dcmqrscp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmnet/include/dcmtk/dcmnet/dicom.h \ ../../dcmnet/include/dcmtk/dcmnet/cond.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -195,6 +199,8 @@ dcmqrti.o: dcmqrti.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ diff --git a/dcmqrdb/docs/dcmqrscp.man b/dcmqrdb/docs/dcmqrscp.man index fb93f90f..c6786680 100644 --- a/dcmqrdb/docs/dcmqrscp.man +++ b/dcmqrdb/docs/dcmqrscp.man @@ -709,6 +709,7 @@ SpatialFiducialsStorage 1.2.840.10008.5.1.4.1.1.66. DeformableSpatialRegistrationStorage 1.2.840.10008.5.1.4.1.1.66.3 SegmentationStorage 1.2.840.10008.5.1.4.1.1.66.4 SurfaceSegmentationStorage 1.2.840.10008.5.1.4.1.1.66.5 +TractographyResultsStorage 1.2.840.10008.5.1.4.1.1.66.6 RealWorldValueMappingStorage 1.2.840.10008.5.1.4.1.1.67 SurfaceScanMeshStorage 1.2.840.10008.5.1.4.1.1.68.1 SurfaceScanPointCloudStorage 1.2.840.10008.5.1.4.1.1.68.2 @@ -757,6 +758,7 @@ XRayRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88. RadiopharmaceuticalRadiationDoseSRStorage 1.2.840.10008.5.1.4.1.1.88.68 ColonCADSRStorage 1.2.840.10008.5.1.4.1.1.88.69 ImplantationPlanSRDocumentStorage 1.2.840.10008.5.1.4.1.1.88.70 +AcquisitionContextSRStorage 1.2.840.10008.5.1.4.1.1.88.71 EncapsulatedPDFStorage 1.2.840.10008.5.1.4.1.1.104.1 EncapsulatedCDAStorage 1.2.840.10008.5.1.4.1.1.104.2 PositronEmissionTomographyImageStorage 1.2.840.10008.5.1.4.1.1.128 @@ -781,6 +783,7 @@ DICONDE_EddyCurrentImageStorage 1.2.840.10008.5.1.4.1.1.601 DICONDE_EddyCurrentMultiframeImageStorage 1.2.840.10008.5.1.4.1.1.601.2 DRAFT_RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.1 RTBeamsDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.7 +RTBrachyApplicationSetupDeliveryInstructionStorage 1.2.840.10008.5.1.4.34.10 GenericImplantTemplateStorage 1.2.840.10008.5.1.4.43.1 ImplantAssemblyTemplateStorage 1.2.840.10008.5.1.4.44.1 ImplantTemplateGroupStorage 1.2.840.10008.5.1.4.45.1 @@ -966,6 +969,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 1993-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 1993-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmqrdb/libsrc/Makefile.dep b/dcmqrdb/libsrc/Makefile.dep index 4605c41f..77faaec9 100644 --- a/dcmqrdb/libsrc/Makefile.dep +++ b/dcmqrdb/libsrc/Makefile.dep @@ -47,6 +47,8 @@ dcmqrcbf.o: dcmqrcbf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -123,6 +125,8 @@ dcmqrcbg.o: dcmqrcbg.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -199,6 +203,8 @@ dcmqrcbm.o: dcmqrcbm.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -275,6 +281,8 @@ dcmqrcbs.o: dcmqrcbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -319,6 +327,8 @@ dcmqrcnf.o: dcmqrcnf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -396,6 +406,8 @@ dcmqrdbi.o: dcmqrdbi.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/dimse.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ @@ -439,6 +451,8 @@ dcmqrdbs.o: dcmqrdbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -519,6 +533,8 @@ dcmqropt.o: dcmqropt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -593,6 +609,8 @@ dcmqrptb.o: dcmqrptb.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -661,6 +679,8 @@ dcmqrsrv.o: dcmqrsrv.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ ../../dcmnet/include/dcmtk/dcmnet/dul.h \ @@ -736,6 +756,8 @@ dcmqrtis.o: dcmqrtis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmnet/include/dcmtk/dcmnet/assoc.h \ ../../dcmnet/include/dcmtk/dcmnet/lst.h \ diff --git a/dcmqrdb/libsrc/dcmqrdbi.cc b/dcmqrdb/libsrc/dcmqrdbi.cc index f555fbb0..53424b85 100644 --- a/dcmqrdb/libsrc/dcmqrdbi.cc +++ b/dcmqrdb/libsrc/dcmqrdbi.cc @@ -2949,7 +2949,8 @@ OFCondition DcmQueryRetrieveIndexDatabaseHandle::storeRequest ( (strcmp(SOPClassUID, UID_SpectaclePrescriptionReportStorage) == 0) || (strcmp(SOPClassUID, UID_MacularGridThicknessAndVolumeReportStorage) == 0) || (strcmp(SOPClassUID, UID_ImplantationPlanSRDocumentStorage) == 0) || - (strcmp(SOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) == 0)) + (strcmp(SOPClassUID, UID_RadiopharmaceuticalRadiationDoseSRStorage) == 0) || + (strcmp(SOPClassUID, UID_AcquisitionContextSRStorage) == 0)) { OFString string; OFString description = "unknown SR"; diff --git a/dcmrt/apps/Makefile.dep b/dcmrt/apps/Makefile.dep index 0c4353ab..f9700e93 100644 --- a/dcmrt/apps/Makefile.dep +++ b/dcmrt/apps/Makefile.dep @@ -15,6 +15,8 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -108,13 +110,16 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdvhs.h \ @@ -144,11 +149,14 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpsss.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \ ../include/dcmtk/dcmrt/seq/drtcis.h \ ../include/dcmtk/dcmrt/seq/drtrdros.h \ ../include/dcmtk/dcmrt/seq/drtrwvms.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrfors.h \ ../include/dcmtk/dcmrt/seq/drtrsts.h \ @@ -156,8 +164,10 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps.h \ ../include/dcmtk/dcmrt/seq/drtrfgs.h \ @@ -229,7 +239,7 @@ drtdump.o: drtdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drttsmds.h ../include/dcmtk/dcmrt/drtionpl.h \ ../include/dcmtk/dcmrt/seq/drtibs.h ../include/dcmtk/dcmrt/seq/drtas6.h \ ../include/dcmtk/dcmrt/seq/drtiblds.h \ - ../include/dcmtk/dcmrt/seq/drtibls.h \ + ../include/dcmtk/dcmrt/seq/drtibls.h ../include/dcmtk/dcmrt/seq/drtbss.h \ ../include/dcmtk/dcmrt/seq/drticps.h \ ../include/dcmtk/dcmrt/seq/drtiwps.h \ ../include/dcmtk/dcmrt/seq/drtlsds6.h \ diff --git a/dcmrt/include/dcmtk/dcmrt/drmimage.h b/dcmrt/include/dcmtk/dcmrt/drmimage.h index 36f427a8..94312475 100644 --- a/dcmrt/include/dcmtk/dcmrt/drmimage.h +++ b/dcmrt/include/dcmtk/dcmrt/drmimage.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2012, OFFIS e.V. + * Copyright (C) 2012-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -156,8 +156,8 @@ public: /** set automatically calculated histogram window. * possibly active VOI LUT is implicitly disabled. * - ** @param thresh threshhold value specifying percentage of histogram border which - * shall be ignored (defaut: 5%). + ** @param thresh threshold value specifying percentage of histogram border which + * shall be ignored (default: 5%). * * @return EC_Normal if successful, else an error code */ @@ -239,7 +239,7 @@ private: * Hide DRTImageIOD::read(). DicomImage() doesn't allow the dataset that was * used for loading the image to be deleted. Thus, read() cannot work. */ - virtual OFCondition read(DcmItem &dataset) + virtual OFCondition read(DcmItem & /*dataset*/) { return EC_IllegalCall; } diff --git a/dcmrt/include/dcmtk/dcmrt/drtdose.h b/dcmrt/include/dcmtk/dcmrt/drtdose.h index 43e40818..6f902871 100644 --- a/dcmrt/include/dcmtk/dcmrt/drtdose.h +++ b/dcmrt/include/dcmtk/dcmrt/drtdose.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDoseIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -22,6 +22,7 @@ #include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence #include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence #include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence +#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence #include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence #include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence #include "dcmtk/dcmrt/seq/drtdvhs.h" // for DVHSequence @@ -47,6 +48,7 @@ #include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence #include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence #include "dcmtk/dcmrt/seq/drtpsss.h" // for PredecessorStructureSetSequence +#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence #include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrcs.h" // for ROIContourSequence #include "dcmtk/dcmrt/seq/drtrdros.h" // for RTDoseROISequence @@ -501,6 +503,13 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD */ virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const; + /** get ConsultingPhysicianName (0008,009c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const; + /** get ContentDate (0008,0023) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -1663,6 +1672,13 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD */ virtual OFCondition getStationName(OFString &value, const signed long pos = 0) const; + /** get StereoPairsPresent (0022,0028) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getStereoPairsPresent(OFString &value, const signed long pos = 0) const; + /** get StructureSetDate (3006,0008) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -1818,6 +1834,18 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const { return ConsentForClinicalTrialUseSequence; } + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return reference to sequence element + */ + DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() + { return ConsultingPhysicianIdentificationSequence; } + + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return const reference to sequence element + */ + const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const + { return ConsultingPhysicianIdentificationSequence; } + /** get ContributingEquipmentSequence (0018,a001) * @return reference to sequence element */ @@ -2118,6 +2146,18 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD const DRTPredecessorStructureSetSequence &getPredecessorStructureSetSequence() const { return PredecessorStructureSetSequence; } + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return reference to sequence element + */ + DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() + { return PrivateDataElementCharacteristicsSequence; } + + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return const reference to sequence element + */ + const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const + { return PrivateDataElementCharacteristicsSequence; } + /** get ProcedureCodeSequence (0008,1032) * @return reference to sequence element */ @@ -2618,6 +2658,13 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD */ virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue); + /** set ConsultingPhysicianName (0008,009c) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue); + /** set ContentDate (0008,0023) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DA) and VM (1) if enabled @@ -3563,6 +3610,13 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD */ virtual OFCondition setStationName(const OFString &value, const OFBool check = OFTrue); + /** set StereoPairsPresent (0022,0028) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setStereoPairsPresent(const OFString &value, const OFBool check = OFTrue); + /** set StructureSetDate (3006,0008) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DA) and VM (1) if enabled @@ -3766,6 +3820,10 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD DcmPersonName ReferringPhysicianName; /// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3 DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence; + /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3 + DcmPersonName ConsultingPhysicianName; + /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3 + DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence; /// StudyID (0020,0010) vr=SH, vm=1, type=2 DcmShortString StudyID; /// AccessionNumber (0008,0050) vr=SH, vm=1, type=2 @@ -4045,6 +4103,8 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD DcmIntegerString NumberOfFrames; /// FrameIncrementPointer (0028,0009) vr=AT, vm=1-n, type=1 DcmAttributeTag FrameIncrementPointer; + /// StereoPairsPresent (0022,0028) vr=CS, vm=1, type=3 + DcmCodeString StereoPairsPresent; // --- OverlayPlaneModule (U) --- @@ -4245,6 +4305,8 @@ class DCMTK_DCMRT_EXPORT DRTDoseIOD DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence; /// ContentQualification (0018,9004) vr=CS, vm=1, type=3 DcmCodeString ContentQualification; + /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3 + DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence; // --- CommonInstanceReferenceModule (U) --- diff --git a/dcmrt/include/dcmtk/dcmrt/drtimage.h b/dcmrt/include/dcmtk/dcmrt/drtimage.h index bf746cd6..3b7b1549 100644 --- a/dcmrt/include/dcmtk/dcmrt/drtimage.h +++ b/dcmrt/include/dcmtk/dcmrt/drtimage.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTImageIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -22,6 +22,7 @@ #include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence #include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence #include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence +#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence #include "dcmtk/dcmrt/seq/drtcbars.h" // for ContrastBolusAdministrationRouteSequence #include "dcmtk/dcmrt/seq/drtbas.h" // for ContrastBolusAgentSequence #include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence @@ -51,6 +52,7 @@ #include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence #include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence #include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence +#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence #include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrwvms.h" // for RealWorldValueMappingSequence #include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence @@ -524,6 +526,13 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD */ virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const; + /** get ConsultingPhysicianName (0008,009c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const; + /** get ContentDate (0008,0023) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -1916,6 +1925,13 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD */ virtual OFCondition getStationName(OFString &value, const signed long pos = 0) const; + /** get StereoPairsPresent (0022,0028) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getStereoPairsPresent(OFString &value, const signed long pos = 0) const; + /** get StopTrim (0008,2143) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -2215,6 +2231,18 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const { return ConsentForClinicalTrialUseSequence; } + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return reference to sequence element + */ + DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() + { return ConsultingPhysicianIdentificationSequence; } + + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return const reference to sequence element + */ + const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const + { return ConsultingPhysicianIdentificationSequence; } + /** get ContrastBolusAdministrationRouteSequence (0018,0014) * @return reference to sequence element */ @@ -2563,6 +2591,18 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const { return PhysiciansReadingStudyIdentificationSequence; } + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return reference to sequence element + */ + DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() + { return PrivateDataElementCharacteristicsSequence; } + + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return const reference to sequence element + */ + const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const + { return PrivateDataElementCharacteristicsSequence; } + /** get ProcedureCodeSequence (0008,1032) * @return reference to sequence element */ @@ -3019,6 +3059,13 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD */ virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue); + /** set ConsultingPhysicianName (0008,009c) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue); + /** set ContentDate (0008,0023) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DA) and VM (1) if enabled @@ -4097,6 +4144,13 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD */ virtual OFCondition setStationName(const OFString &value, const OFBool check = OFTrue); + /** set StereoPairsPresent (0022,0028) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setStereoPairsPresent(const OFString &value, const OFBool check = OFTrue); + /** set StopTrim (0008,2143) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (IS) and VM (1) if enabled @@ -4352,6 +4406,10 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD DcmPersonName ReferringPhysicianName; /// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3 DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence; + /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3 + DcmPersonName ConsultingPhysicianName; + /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3 + DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence; /// StudyID (0020,0010) vr=SH, vm=1, type=2 DcmShortString StudyID; /// AccessionNumber (0008,0050) vr=SH, vm=1, type=2 @@ -4671,6 +4729,8 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD DcmIntegerString NumberOfFrames; /// FrameIncrementPointer (0028,0009) vr=AT, vm=1-n, type=1 DcmAttributeTag FrameIncrementPointer; + /// StereoPairsPresent (0022,0028) vr=CS, vm=1, type=3 + DcmCodeString StereoPairsPresent; // --- DeviceModule (U) --- @@ -4871,6 +4931,8 @@ class DCMTK_DCMRT_EXPORT DRTImageIOD DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence; /// ContentQualification (0018,9004) vr=CS, vm=1, type=3 DcmCodeString ContentQualification; + /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3 + DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence; // --- CommonInstanceReferenceModule (U) --- diff --git a/dcmrt/include/dcmtk/dcmrt/drtionpl.h b/dcmrt/include/dcmtk/dcmrt/drtionpl.h index d9acae79..889397d4 100644 --- a/dcmrt/include/dcmtk/dcmrt/drtionpl.h +++ b/dcmrt/include/dcmtk/dcmrt/drtionpl.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonPlanIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -22,6 +22,7 @@ #include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence #include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence #include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence +#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence #include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence #include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence #include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence @@ -46,6 +47,7 @@ #include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence #include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence #include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence +#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence #include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrds.h" // for ReferencedDoseSequence @@ -373,6 +375,13 @@ class DCMTK_DCMRT_EXPORT DRTIonPlanIOD */ virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const; + /** get ConsultingPhysicianName (0008,009c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const; + /** get ContentQualification (0018,9004) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -1095,6 +1104,18 @@ class DCMTK_DCMRT_EXPORT DRTIonPlanIOD const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const { return ConsentForClinicalTrialUseSequence; } + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return reference to sequence element + */ + DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() + { return ConsultingPhysicianIdentificationSequence; } + + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return const reference to sequence element + */ + const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const + { return ConsultingPhysicianIdentificationSequence; } + /** get ContributingEquipmentSequence (0018,a001) * @return reference to sequence element */ @@ -1383,6 +1404,18 @@ class DCMTK_DCMRT_EXPORT DRTIonPlanIOD const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const { return PhysiciansReadingStudyIdentificationSequence; } + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return reference to sequence element + */ + DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() + { return PrivateDataElementCharacteristicsSequence; } + + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return const reference to sequence element + */ + const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const + { return PrivateDataElementCharacteristicsSequence; } + /** get ProcedureCodeSequence (0008,1032) * @return reference to sequence element */ @@ -1712,6 +1745,13 @@ class DCMTK_DCMRT_EXPORT DRTIonPlanIOD */ virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue); + /** set ConsultingPhysicianName (0008,009c) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue); + /** set ContentQualification (0018,9004) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -2457,6 +2497,10 @@ class DCMTK_DCMRT_EXPORT DRTIonPlanIOD DcmPersonName ReferringPhysicianName; /// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3 DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence; + /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3 + DcmPersonName ConsultingPhysicianName; + /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3 + DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence; /// StudyID (0020,0010) vr=SH, vm=1, type=2 DcmShortString StudyID; /// AccessionNumber (0008,0050) vr=SH, vm=1, type=2 @@ -2729,6 +2773,8 @@ class DCMTK_DCMRT_EXPORT DRTIonPlanIOD DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence; /// ContentQualification (0018,9004) vr=CS, vm=1, type=3 DcmCodeString ContentQualification; + /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3 + DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence; // --- CommonInstanceReferenceModule (U) --- diff --git a/dcmrt/include/dcmtk/dcmrt/drtiontr.h b/dcmrt/include/dcmtk/dcmrt/drtiontr.h index cf177b83..546f92c8 100644 --- a/dcmrt/include/dcmtk/dcmrt/drtiontr.h +++ b/dcmrt/include/dcmtk/dcmrt/drtiontr.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonBeamsTreatmentRecordIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -23,6 +23,7 @@ #include "dcmtk/dcmrt/seq/drtcdrs.h" // for CalculatedDoseReferenceSequence #include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence #include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence +#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence #include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence #include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence #include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence @@ -45,6 +46,7 @@ #include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence #include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence #include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence +#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence #include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrpphs.h" // for ReferencedPatientPhotoSequence @@ -352,6 +354,13 @@ class DCMTK_DCMRT_EXPORT DRTIonBeamsTreatmentRecordIOD */ virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const; + /** get ConsultingPhysicianName (0008,009c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const; + /** get ContentQualification (0018,9004) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -1058,6 +1067,18 @@ class DCMTK_DCMRT_EXPORT DRTIonBeamsTreatmentRecordIOD const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const { return ConsentForClinicalTrialUseSequence; } + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return reference to sequence element + */ + DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() + { return ConsultingPhysicianIdentificationSequence; } + + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return const reference to sequence element + */ + const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const + { return ConsultingPhysicianIdentificationSequence; } + /** get ContributingEquipmentSequence (0018,a001) * @return reference to sequence element */ @@ -1322,6 +1343,18 @@ class DCMTK_DCMRT_EXPORT DRTIonBeamsTreatmentRecordIOD const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const { return PhysiciansReadingStudyIdentificationSequence; } + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return reference to sequence element + */ + DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() + { return PrivateDataElementCharacteristicsSequence; } + + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return const reference to sequence element + */ + const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const + { return PrivateDataElementCharacteristicsSequence; } + /** get ProcedureCodeSequence (0008,1032) * @return reference to sequence element */ @@ -1680,6 +1713,13 @@ class DCMTK_DCMRT_EXPORT DRTIonBeamsTreatmentRecordIOD */ virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue); + /** set ConsultingPhysicianName (0008,009c) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue); + /** set ContentQualification (0018,9004) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -2383,6 +2423,10 @@ class DCMTK_DCMRT_EXPORT DRTIonBeamsTreatmentRecordIOD DcmPersonName ReferringPhysicianName; /// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3 DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence; + /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3 + DcmPersonName ConsultingPhysicianName; + /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3 + DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence; /// StudyID (0020,0010) vr=SH, vm=1, type=2 DcmShortString StudyID; /// AccessionNumber (0008,0050) vr=SH, vm=1, type=2 @@ -2642,6 +2686,8 @@ class DCMTK_DCMRT_EXPORT DRTIonBeamsTreatmentRecordIOD DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence; /// ContentQualification (0018,9004) vr=CS, vm=1, type=3 DcmCodeString ContentQualification; + /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3 + DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence; // --- CommonInstanceReferenceModule (U) --- diff --git a/dcmrt/include/dcmtk/dcmrt/drtplan.h b/dcmrt/include/dcmtk/dcmrt/drtplan.h index a314f9a8..cc7ed760 100644 --- a/dcmrt/include/dcmtk/dcmrt/drtplan.h +++ b/dcmrt/include/dcmtk/dcmrt/drtplan.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPlanIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -24,6 +24,7 @@ #include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence #include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence #include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence +#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence #include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence #include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence #include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence @@ -46,6 +47,7 @@ #include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence #include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence #include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence +#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence #include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrds.h" // for ReferencedDoseSequence @@ -406,6 +408,13 @@ class DCMTK_DCMRT_EXPORT DRTPlanIOD */ virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const; + /** get ConsultingPhysicianName (0008,009c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const; + /** get ContentQualification (0018,9004) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -1152,6 +1161,18 @@ class DCMTK_DCMRT_EXPORT DRTPlanIOD const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const { return ConsentForClinicalTrialUseSequence; } + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return reference to sequence element + */ + DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() + { return ConsultingPhysicianIdentificationSequence; } + + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return const reference to sequence element + */ + const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const + { return ConsultingPhysicianIdentificationSequence; } + /** get ContributingEquipmentSequence (0018,a001) * @return reference to sequence element */ @@ -1416,6 +1437,18 @@ class DCMTK_DCMRT_EXPORT DRTPlanIOD const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const { return PhysiciansReadingStudyIdentificationSequence; } + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return reference to sequence element + */ + DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() + { return PrivateDataElementCharacteristicsSequence; } + + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return const reference to sequence element + */ + const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const + { return PrivateDataElementCharacteristicsSequence; } + /** get ProcedureCodeSequence (0008,1032) * @return reference to sequence element */ @@ -1795,6 +1828,13 @@ class DCMTK_DCMRT_EXPORT DRTPlanIOD */ virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue); + /** set ConsultingPhysicianName (0008,009c) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue); + /** set ContentQualification (0018,9004) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -2540,6 +2580,10 @@ class DCMTK_DCMRT_EXPORT DRTPlanIOD DcmPersonName ReferringPhysicianName; /// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3 DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence; + /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3 + DcmPersonName ConsultingPhysicianName; + /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3 + DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence; /// StudyID (0020,0010) vr=SH, vm=1, type=2 DcmShortString StudyID; /// AccessionNumber (0008,0050) vr=SH, vm=1, type=2 @@ -2825,6 +2869,8 @@ class DCMTK_DCMRT_EXPORT DRTPlanIOD DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence; /// ContentQualification (0018,9004) vr=CS, vm=1, type=3 DcmCodeString ContentQualification; + /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3 + DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence; // --- CommonInstanceReferenceModule (U) --- diff --git a/dcmrt/include/dcmtk/dcmrt/drtstrct.h b/dcmrt/include/dcmtk/dcmrt/drtstrct.h index 2ba925a4..21948f8d 100644 --- a/dcmrt/include/dcmtk/dcmrt/drtstrct.h +++ b/dcmrt/include/dcmtk/dcmrt/drtstrct.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTStructureSetIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -22,6 +22,7 @@ #include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence #include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence #include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence +#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence #include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence #include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence #include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence @@ -42,6 +43,7 @@ #include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence #include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence #include "dcmtk/dcmrt/seq/drtpsss.h" // for PredecessorStructureSetSequence +#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence #include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrcs.h" // for ROIContourSequence #include "dcmtk/dcmrt/seq/drtrros.h" // for RTROIObservationsSequence @@ -165,6 +167,14 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD */ virtual OFBool isClinicalTrialSeriesModulePresent(const OFBool complete = OFFalse); + /** check whether FrameOfReferenceModule (U) is present. + * By default, a module is reported as being present if at least one attribute + * from this module has a non-empty value. + * @param complete check for all mandatory attributes of this module if enabled + * @return OFTrue if module is present, OFFalse otherwise + */ + virtual OFBool isFrameOfReferenceModulePresent(const OFBool complete = OFFalse); + /** check whether ApprovalModule (U) is present. * By default, a module is reported as being present if at least one attribute * from this module has a non-empty value. @@ -330,6 +340,13 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD */ virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const; + /** get ConsultingPhysicianName (0008,009c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const; + /** get ContentQualification (0018,9004) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -365,6 +382,13 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD */ virtual OFCondition getEthnicGroup(OFString &value, const signed long pos = 0) const; + /** get FrameOfReferenceUID (0020,0052) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getFrameOfReferenceUID(OFString &value, const signed long pos = 0) const; + /** get GantryID (0018,1008) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -673,6 +697,13 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD */ virtual OFCondition getPixelPaddingValue(Uint16 &value, const unsigned long pos = 0) const; + /** get PositionReferenceIndicator (0020,1040) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getPositionReferenceIndicator(OFString &value, const signed long pos = 0) const; + /** get QualityControlSubject (0010,0200) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -1003,6 +1034,18 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const { return ConsentForClinicalTrialUseSequence; } + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return reference to sequence element + */ + DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() + { return ConsultingPhysicianIdentificationSequence; } + + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return const reference to sequence element + */ + const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const + { return ConsultingPhysicianIdentificationSequence; } + /** get ContributingEquipmentSequence (0018,a001) * @return reference to sequence element */ @@ -1243,6 +1286,18 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD const DRTPredecessorStructureSetSequence &getPredecessorStructureSetSequence() const { return PredecessorStructureSetSequence; } + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return reference to sequence element + */ + DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() + { return PrivateDataElementCharacteristicsSequence; } + + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return const reference to sequence element + */ + const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const + { return PrivateDataElementCharacteristicsSequence; } + /** get ProcedureCodeSequence (0008,1032) * @return reference to sequence element */ @@ -1584,6 +1639,13 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD */ virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue); + /** set ConsultingPhysicianName (0008,009c) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue); + /** set ContentQualification (0018,9004) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -1619,6 +1681,13 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD */ virtual OFCondition setEthnicGroup(const OFString &value, const OFBool check = OFTrue); + /** set FrameOfReferenceUID (0020,0052) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setFrameOfReferenceUID(const OFString &value, const OFBool check = OFTrue); + /** set GantryID (0018,1008) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled @@ -1906,6 +1975,13 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD */ virtual OFCondition setPixelPaddingValue(const Uint16 value, const unsigned long pos = 0); + /** set PositionReferenceIndicator (0020,1040) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setPositionReferenceIndicator(const OFString &value, const OFBool check = OFTrue); + /** set QualityControlSubject (0010,0200) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -2280,6 +2356,10 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD DcmPersonName ReferringPhysicianName; /// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3 DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence; + /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3 + DcmPersonName ConsultingPhysicianName; + /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3 + DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence; /// StudyID (0020,0010) vr=SH, vm=1, type=2 DcmShortString StudyID; /// AccessionNumber (0008,0050) vr=SH, vm=1, type=2 @@ -2422,6 +2502,13 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD /// PixelPaddingValue (0028,0120) vr=US/SS, vm=1, type=1C DcmUnsignedShort PixelPaddingValue; + // --- FrameOfReferenceModule (U) --- + + /// FrameOfReferenceUID (0020,0052) vr=UI, vm=1, type=1 + DcmUniqueIdentifier FrameOfReferenceUID; + /// PositionReferenceIndicator (0020,1040) vr=LO, vm=1, type=2 + DcmLongString PositionReferenceIndicator; + // --- StructureSetModule (M) --- /// StructureSetLabel (3006,0002) vr=SH, vm=1, type=1 @@ -2520,6 +2607,8 @@ class DCMTK_DCMRT_EXPORT DRTStructureSetIOD DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence; /// ContentQualification (0018,9004) vr=CS, vm=1, type=3 DcmCodeString ContentQualification; + /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3 + DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence; // --- CommonInstanceReferenceModule (U) --- diff --git a/dcmrt/include/dcmtk/dcmrt/drttreat.h b/dcmrt/include/dcmtk/dcmrt/drttreat.h index c5949741..5822e242 100644 --- a/dcmrt/include/dcmtk/dcmrt/drttreat.h +++ b/dcmrt/include/dcmtk/dcmrt/drttreat.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTTreatmentSummaryRecordIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -22,6 +22,7 @@ #include "dcmtk/dcmrt/seq/drtbrs.h" // for BreedRegistrationSequence #include "dcmtk/dcmrt/seq/drtcsis.h" // for CodingSchemeIdentificationSequence #include "dcmtk/dcmrt/seq/drtcctus.h" // for ConsentForClinicalTrialUseSequence +#include "dcmtk/dcmrt/seq/drtcpis.h" // for ConsultingPhysicianIdentificationSequence #include "dcmtk/dcmrt/seq/drtces.h" // for ContributingEquipmentSequence #include "dcmtk/dcmrt/seq/drtcsas.h" // for ConversionSourceAttributesSequence #include "dcmtk/dcmrt/seq/drtdimcs.h" // for DeidentificationMethodCodeSequence @@ -42,6 +43,7 @@ #include "dcmtk/dcmrt/seq/drtppcs.h" // for PerformedProtocolCodeSequence #include "dcmtk/dcmrt/seq/drtporis.h" // for PhysiciansOfRecordIdentificationSequence #include "dcmtk/dcmrt/seq/drtprsis.h" // for PhysiciansReadingStudyIdentificationSequence +#include "dcmtk/dcmrt/seq/drtpdecs.h" // for PrivateDataElementCharacteristicsSequence #include "dcmtk/dcmrt/seq/drtpcs.h" // for ProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrppcs.h" // for ReasonForPerformedProcedureCodeSequence #include "dcmtk/dcmrt/seq/drtrpphs.h" // for ReferencedPatientPhotoSequence @@ -315,6 +317,13 @@ class DCMTK_DCMRT_EXPORT DRTTreatmentSummaryRecordIOD */ virtual OFCondition getCommentsOnThePerformedProcedureStep(OFString &value, const signed long pos = 0) const; + /** get ConsultingPhysicianName (0008,009c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getConsultingPhysicianName(OFString &value, const signed long pos = 0) const; + /** get ContentQualification (0018,9004) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -974,6 +983,18 @@ class DCMTK_DCMRT_EXPORT DRTTreatmentSummaryRecordIOD const DRTConsentForClinicalTrialUseSequence &getConsentForClinicalTrialUseSequence() const { return ConsentForClinicalTrialUseSequence; } + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return reference to sequence element + */ + DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() + { return ConsultingPhysicianIdentificationSequence; } + + /** get ConsultingPhysicianIdentificationSequence (0008,009d) + * @return const reference to sequence element + */ + const DRTConsultingPhysicianIdentificationSequence &getConsultingPhysicianIdentificationSequence() const + { return ConsultingPhysicianIdentificationSequence; } + /** get ContributingEquipmentSequence (0018,a001) * @return reference to sequence element */ @@ -1214,6 +1235,18 @@ class DCMTK_DCMRT_EXPORT DRTTreatmentSummaryRecordIOD const DRTPhysiciansReadingStudyIdentificationSequence &getPhysiciansReadingStudyIdentificationSequence() const { return PhysiciansReadingStudyIdentificationSequence; } + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return reference to sequence element + */ + DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() + { return PrivateDataElementCharacteristicsSequence; } + + /** get PrivateDataElementCharacteristicsSequence (0008,0300) + * @return const reference to sequence element + */ + const DRTPrivateDataElementCharacteristicsSequence &getPrivateDataElementCharacteristicsSequence() const + { return PrivateDataElementCharacteristicsSequence; } + /** get ProcedureCodeSequence (0008,1032) * @return reference to sequence element */ @@ -1548,6 +1581,13 @@ class DCMTK_DCMRT_EXPORT DRTTreatmentSummaryRecordIOD */ virtual OFCondition setCommentsOnThePerformedProcedureStep(const OFString &value, const OFBool check = OFTrue); + /** set ConsultingPhysicianName (0008,009c) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setConsultingPhysicianName(const OFString &value, const OFBool check = OFTrue); + /** set ContentQualification (0018,9004) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -2230,6 +2270,10 @@ class DCMTK_DCMRT_EXPORT DRTTreatmentSummaryRecordIOD DcmPersonName ReferringPhysicianName; /// ReferringPhysicianIdentificationSequence (0008,0096) vr=SQ, vm=1, type=3 DRTReferringPhysicianIdentificationSequence ReferringPhysicianIdentificationSequence; + /// ConsultingPhysicianName (0008,009c) vr=PN, vm=1-n, type=3 + DcmPersonName ConsultingPhysicianName; + /// ConsultingPhysicianIdentificationSequence (0008,009d) vr=SQ, vm=1, type=3 + DRTConsultingPhysicianIdentificationSequence ConsultingPhysicianIdentificationSequence; /// StudyID (0020,0010) vr=SH, vm=1, type=2 DcmShortString StudyID; /// AccessionNumber (0008,0050) vr=SH, vm=1, type=2 @@ -2458,6 +2502,8 @@ class DCMTK_DCMRT_EXPORT DRTTreatmentSummaryRecordIOD DRTConversionSourceAttributesSequence ConversionSourceAttributesSequence; /// ContentQualification (0018,9004) vr=CS, vm=1, type=3 DcmCodeString ContentQualification; + /// PrivateDataElementCharacteristicsSequence (0008,0300) vr=SQ, vm=1, type=3 + DRTPrivateDataElementCharacteristicsSequence PrivateDataElementCharacteristicsSequence; // --- CommonInstanceReferenceModule (U) --- diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h index a2eb303e..271dfb24 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtaadcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTAssigningAgencyOrDepartmentCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for AssigningAgencyOrDepartmentCodeSequence (0040,003a) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTAssigningAgencyOrDepartmentCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTAssigningAgencyOrDepartmentCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTAssigningAgencyOrDepartmentCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTAssigningAgencyOrDepartmentCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTAssigningAgencyOrDepartmentCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTAssigningAgencyOrDepartmentCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h index 02314af7..12211700 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtadcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTAdmittingDiagnosesCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for AdmittingDiagnosesCodeSequence (0008,1084) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTAdmittingDiagnosesCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTAdmittingDiagnosesCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTAdmittingDiagnosesCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTAdmittingDiagnosesCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTAdmittingDiagnosesCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTAdmittingDiagnosesCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtads.h b/dcmrt/include/dcmtk/dcmrt/seq/drtads.h index 8fedfbef..bd799e36 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtads.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtads.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTAdditionalDrugSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for AdditionalDrugSequence (0018,002a) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalDrugSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalDrugSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalDrugSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalDrugSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalDrugSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalDrugSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtafs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtafs.h index 7a1669e3..af706b18 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtafs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtafs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTAssigningFacilitySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtags.h b/dcmrt/include/dcmtk/dcmrt/seq/drtags.h index 6b2b72e3..9f9fa998 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtags.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtags.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTApplicatorGeometrySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h index a55b6b7c..4d404cf1 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtajcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTAssigningJurisdictionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for AssigningJurisdictionCodeSequence (0040,0039) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTAssigningJurisdictionCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTAssigningJurisdictionCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTAssigningJurisdictionCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTAssigningJurisdictionCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTAssigningJurisdictionCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTAssigningJurisdictionCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtarics.h b/dcmrt/include/dcmtk/dcmrt/seq/drtarics.h index a45f1e69..6b218681 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtarics.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtarics.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTAdditionalRTROIIdentificationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence #include "dcmtk/dcmrt/seq/drtporcs.h" // for PurposeOfReferenceCodeSequence @@ -161,6 +162,13 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalRTROIIdentificationCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -168,8 +176,34 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalRTROIIdentificationCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + // --- get DICOM sequence attributes --- + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + /** get PurposeOfReferenceCodeSequence (0040,a170) * @return reference to sequence element */ @@ -254,6 +288,13 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalRTROIIdentificationCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -261,6 +302,20 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalRTROIIdentificationCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -268,9 +323,9 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalRTROIIdentificationCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -286,10 +341,18 @@ class DCMTK_DCMRT_EXPORT DRTAdditionalRTROIIdentificationCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; /// PurposeOfReferenceCodeSequence (0040,a170) vr=SQ, vm=1, type=1 DRTPurposeOfReferenceCodeSequence PurposeOfReferenceCodeSequence; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtas1.h b/dcmrt/include/dcmtk/dcmrt/seq/drtas1.h index 3d05cd94..c1d420a8 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtas1.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtas1.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTApplicatorSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtas5.h b/dcmrt/include/dcmtk/dcmrt/seq/drtas5.h index 7dd6132f..a07e40eb 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtas5.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtas5.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTApplicatorSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtas6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtas6.h index af3ae143..2ca82efe 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtas6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtas6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTApplicatorSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtas7.h b/dcmrt/include/dcmtk/dcmrt/seq/drtas7.h index 93ca7c96..743c9518 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtas7.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtas7.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTApplicatorSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtass.h b/dcmrt/include/dcmtk/dcmrt/seq/drtass.h index bca0b794..d6f99221 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtass.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtass.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTApplicationSetupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbads.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbads.h index 1834ea56..6a9203b2 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbads.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbads.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBrachyAccessoryDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbas.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbas.h index 5af60c7f..62525029 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbas.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbas.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTContrastBolusAgentSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ContrastBolusAgentSequence (0018,0012) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAgentSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAgentSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAgentSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAgentSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAgentSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAgentSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h index 3f64028e..0d016247 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbcps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBrachyControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h index 60f82932..a5168096 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbl2.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBlockSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h index 005bca64..c0046f27 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbl5.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBlockSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h index f0c669e0..b6a15af0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbldls.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamLimitingDeviceLeafPairsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h index d47ffc97..acadc81c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbldps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamLimitingDevicePositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h b/dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h index b0b3671b..05d8c5ab 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtblds1.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamLimitingDeviceSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h b/dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h index a192fbbd..e23c7110 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtblds5.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamLimitingDeviceSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h index e165dc22..b3ca61b3 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtblds6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamLimitingDeviceSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h index 6a3efa55..8cc3222d 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbldts.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamLimitingDeviceToleranceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h index e3992792..52a1c540 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbrcss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBreedRegistryCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for BreedRegistryCodeSequence (0010,2296) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTBreedRegistryCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTBreedRegistryCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTBreedRegistryCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTBreedRegistryCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTBreedRegistryCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTBreedRegistryCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h index bf9c8078..1926e814 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbrdrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBrachyReferencedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h index 7878fcdd..bb5998fc 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBreedRegistrationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbs.h index ae710b83..a585e4d7 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbss.h new file mode 100644 index 00000000..1ef3ef99 --- /dev/null +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbss.h @@ -0,0 +1,341 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class DRTBlockSlabSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#ifndef DRTBSS_H +#define DRTBSS_H + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/ofstd/oflist.h" // for standard list class +#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class + + +/** Interface class for BlockSlabSequence (300a,0441) + */ +class DCMTK_DCMRT_EXPORT DRTBlockSlabSequence + : protected DRTTypes +{ + + public: + + /** Item class + */ + class DCMTK_DCMRT_EXPORT Item + : protected DRTTypes + { + + public: + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultItem flag used to mark the empty default item + */ + Item(const OFBool emptyDefaultItem = OFFalse); + + /** copy constructor + * @param copy item object to be copied + */ + Item(const Item ©); + + /** destructor + */ + virtual ~Item(); + + /** assigment operator + * @param copy item object to be copied + */ + Item &operator=(const Item ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if item is empty + * @return OFTrue if item is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if item is valid, i.e.\ not the empty default item + * @return OFTrue if item is valid, OFFalse otherwise + */ + OFBool isValid() const; + + // --- input/output methods --- + + /** read elements from sequence item + * @param item reference to DICOM sequence item from which the elements should be read + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &item); + + /** write elements to sequence item + * @param item reference to DICOM sequence item to which the elements should be written + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &item); + + // --- get DICOM attribute values --- + + /** get AccessoryCode (300a,00f9) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getAccessoryCode(OFString &value, const signed long pos = 0) const; + + /** get BlockSlabNumber (300a,0443) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getBlockSlabNumber(Uint16 &value, const unsigned long pos = 0) const; + + /** get BlockSlabThickness (300a,0442) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getBlockSlabThickness(OFString &value, const signed long pos = 0) const; + + /** get BlockSlabThickness (300a,0442) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getBlockSlabThickness(Float64 &value, const unsigned long pos = 0) const; + + // --- set DICOM attribute values --- + + /** set AccessoryCode (300a,00f9) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setAccessoryCode(const OFString &value, const OFBool check = OFTrue); + + /** set BlockSlabNumber (300a,0443) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setBlockSlabNumber(const Uint16 value, const unsigned long pos = 0); + + /** set BlockSlabThickness (300a,0442) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setBlockSlabThickness(const OFString &value, const OFBool check = OFTrue); + + private: + + /// internal flag used to mark the empty default item + /*const*/ OFBool EmptyDefaultItem; + + /// AccessoryCode (300a,00f9) vr=LO, vm=1, type=3 + DcmLongString AccessoryCode; + /// BlockSlabNumber (300a,0443) vr=US, vm=1, type=1 + DcmUnsignedShort BlockSlabNumber; + /// BlockSlabThickness (300a,0442) vr=DS, vm=1, type=3 + DcmDecimalString BlockSlabThickness; + + }; + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultSequence internal flag used to mark the empty default sequence + */ + DRTBlockSlabSequence(const OFBool emptyDefaultSequence = OFFalse); + + /** copy constructor + * @param copy sequence object to be copied + */ + DRTBlockSlabSequence(const DRTBlockSlabSequence ©); + + /** destructor + */ + virtual ~DRTBlockSlabSequence(); + + /** assigment operator + * @param copy sequence object to be copied + */ + DRTBlockSlabSequence &operator=(const DRTBlockSlabSequence ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if sequence is empty + * @return OFTrue if sequence is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if sequence is valid, i.e.\ not the empty default sequence + * @return OFTrue if sequence is valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** get number of items in the sequence + * @return number of items + */ + unsigned long getNumberOfItems() const; + + /** goto first item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoFirstItem(); + + /** goto next item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoNextItem(); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num); + + /** get current item in the sequence + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCurrentItem(Item *&item) const; + + /** get current item in the sequence + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getCurrentItem(); + + /** get current item in the sequence + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getCurrentItem() const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getItem(const unsigned long num, Item *&item); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getItem(const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getItem(const unsigned long num) const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &operator[](const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &operator[](const unsigned long num) const; + + /** add new item to the end of this sequence + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addItem(Item *&item); + + /** insert new item into the sequence + * @param pos position where the new item is to be inserted (0..num) + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition insertItem(const unsigned long pos, Item *&item); + + /** remove particular item from the sequence + * @param pos position of the item to be removed (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition removeItem(const unsigned long pos); + + // --- input/output methods --- + + /** read sequence of items from dataset + * @param dataset reference to DICOM dataset from which the sequence should be read + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "1C", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + /** write sequence of items to dataset + * @param dataset reference to DICOM dataset to which the sequence should be written + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + protected: + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListIterator(Item *) &iterator); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListConstIterator(Item *) &iterator) const; + + private: + + /// internal flag used to mark the empty default sequence + /*const*/ OFBool EmptyDefaultSequence; + + /// list of items in this sequence + OFList SequenceOfItems; + /// currently selected item + OFListIterator(Item *) CurrentItem; + /// empty default item + Item EmptyItem; + +}; + + +#endif diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h index 04ecaf53..0084c67b 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtbvcps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTBeamDoseVerificationControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -111,6 +111,13 @@ class DCMTK_DCMRT_EXPORT DRTBeamDoseVerificationControlPointSequence */ OFCondition getAverageBeamDosePointSSD(Float32 &value, const unsigned long pos = 0) const; + /** get AverageBeamDosePointSourceToExternalContourSurfaceDistance (300a,0131) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getAverageBeamDosePointSourceToExternalContourSurfaceDistance(Float32 &value, const unsigned long pos = 0) const; + /** get CumulativeMetersetWeight (300a,0134) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -162,6 +169,13 @@ class DCMTK_DCMRT_EXPORT DRTBeamDoseVerificationControlPointSequence */ OFCondition setAverageBeamDosePointSSD(const Float32 value, const unsigned long pos = 0); + /** set AverageBeamDosePointSourceToExternalContourSurfaceDistance (300a,0131) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setAverageBeamDosePointSourceToExternalContourSurfaceDistance(const Float32 value, const unsigned long pos = 0); + /** set CumulativeMetersetWeight (300a,0134) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled @@ -187,6 +201,8 @@ class DCMTK_DCMRT_EXPORT DRTBeamDoseVerificationControlPointSequence DcmFloatingPointSingle AverageBeamDosePointEquivalentDepth; /// AverageBeamDosePointSSD (300a,008f) vr=FL, vm=1, type=2C DcmFloatingPointSingle AverageBeamDosePointSSD; + /// AverageBeamDosePointSourceToExternalContourSurfaceDistance (300a,0131) vr=FL, vm=1, type=3 + DcmFloatingPointSingle AverageBeamDosePointSourceToExternalContourSurfaceDistance; /// CumulativeMetersetWeight (300a,0134) vr=DS, vm=1, type=1 DcmDecimalString CumulativeMetersetWeight; /// ReferencedControlPointIndex (300c,00f0) vr=IS, vm=1, type=1C diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h index 4a0facaa..b4a8b961 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcbars.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTContrastBolusAdministrationRouteSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -20,6 +20,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class #include "dcmtk/dcmrt/seq/drtads.h" // for AdditionalDrugSequence +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ContrastBolusAdministrationRouteSequence (0018,0014) @@ -161,6 +162,13 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAdministrationRouteSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -168,6 +176,20 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAdministrationRouteSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + // --- get DICOM sequence attributes --- /** get AdditionalDrugSequence (0018,002a) @@ -182,6 +204,18 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAdministrationRouteSequence const DRTAdditionalDrugSequence &getAdditionalDrugSequence() const { return AdditionalDrugSequence; } + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -254,6 +288,13 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAdministrationRouteSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -261,6 +302,20 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAdministrationRouteSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -270,9 +325,9 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAdministrationRouteSequence DRTAdditionalDrugSequence AdditionalDrugSequence; /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -288,8 +343,16 @@ class DCMTK_DCMRT_EXPORT DRTContrastBolusAdministrationRouteSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtccs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtccs.h index 50d52e32..dbc3c4fd 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtccs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtccs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTConceptCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ConceptCodeSequence (0040,a168) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTConceptCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTConceptCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTConceptCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTConceptCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTConceptCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTConceptCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h index e7ca8f09..d9546ee1 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcctus.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTConsentForClinicalTrialUseSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h index 2ba99a60..e03002a0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcdrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTCalculatedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtces.h b/dcmrt/include/dcmtk/dcmrt/seq/drtces.h index c15d103f..4ff68b03 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtces.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtces.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTContributingEquipmentSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtchs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtchs.h index d577e33e..a6138170 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtchs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtchs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTChannelSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcims.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcims.h index f96f3e88..014d4a43 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcims.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcims.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTContentItemModifierSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcis.h index 23c626bb..2b6ca660 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTContourImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h index 8f1a2266..d2fe4185 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcncs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTConceptNameCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ConceptNameCodeSequence (0040,a043) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTConceptNameCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTConceptNameCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTConceptNameCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTConceptNameCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTConceptNameCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTConceptNameCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcos.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcos.h index d8d2c512..b3165ac0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcos.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcos.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTCompensatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h index 49c013c3..2f272181 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcpas.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTCorrectedParameterSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h new file mode 100644 index 00000000..76052a2c --- /dev/null +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcpis.h @@ -0,0 +1,398 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class DRTConsultingPhysicianIdentificationSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#ifndef DRTCPIS_H +#define DRTCPIS_H + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/ofstd/oflist.h" // for standard list class +#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtics.h" // for InstitutionCodeSequence +#include "dcmtk/dcmrt/seq/drtpics.h" // for PersonIdentificationCodeSequence + + +/** Interface class for ConsultingPhysicianIdentificationSequence (0008,009d) + */ +class DCMTK_DCMRT_EXPORT DRTConsultingPhysicianIdentificationSequence + : protected DRTTypes +{ + + public: + + /** Item class + */ + class DCMTK_DCMRT_EXPORT Item + : protected DRTTypes + { + + public: + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultItem flag used to mark the empty default item + */ + Item(const OFBool emptyDefaultItem = OFFalse); + + /** copy constructor + * @param copy item object to be copied + */ + Item(const Item ©); + + /** destructor + */ + virtual ~Item(); + + /** assigment operator + * @param copy item object to be copied + */ + Item &operator=(const Item ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if item is empty + * @return OFTrue if item is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if item is valid, i.e.\ not the empty default item + * @return OFTrue if item is valid, OFFalse otherwise + */ + OFBool isValid() const; + + // --- input/output methods --- + + /** read elements from sequence item + * @param item reference to DICOM sequence item from which the elements should be read + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &item); + + /** write elements to sequence item + * @param item reference to DICOM sequence item to which the elements should be written + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &item); + + // --- get DICOM attribute values --- + + /** get InstitutionAddress (0008,0081) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getInstitutionAddress(OFString &value, const signed long pos = 0) const; + + /** get InstitutionName (0008,0080) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getInstitutionName(OFString &value, const signed long pos = 0) const; + + /** get PersonAddress (0040,1102) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const; + + /** get PersonTelecomInformation (0040,1104) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const; + + /** get PersonTelephoneNumbers (0040,1103) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonTelephoneNumbers(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get InstitutionCodeSequence (0008,0082) + * @return reference to sequence element + */ + DRTInstitutionCodeSequence &getInstitutionCodeSequence() + { return InstitutionCodeSequence; } + + /** get InstitutionCodeSequence (0008,0082) + * @return const reference to sequence element + */ + const DRTInstitutionCodeSequence &getInstitutionCodeSequence() const + { return InstitutionCodeSequence; } + + /** get PersonIdentificationCodeSequence (0040,1101) + * @return reference to sequence element + */ + DRTPersonIdentificationCodeSequence &getPersonIdentificationCodeSequence() + { return PersonIdentificationCodeSequence; } + + /** get PersonIdentificationCodeSequence (0040,1101) + * @return const reference to sequence element + */ + const DRTPersonIdentificationCodeSequence &getPersonIdentificationCodeSequence() const + { return PersonIdentificationCodeSequence; } + + // --- set DICOM attribute values --- + + /** set InstitutionAddress (0008,0081) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (ST) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setInstitutionAddress(const OFString &value, const OFBool check = OFTrue); + + /** set InstitutionName (0008,0080) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setInstitutionName(const OFString &value, const OFBool check = OFTrue); + + /** set PersonAddress (0040,1102) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (ST) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue); + + /** set PersonTelecomInformation (0040,1104) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue); + + /** set PersonTelephoneNumbers (0040,1103) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonTelephoneNumbers(const OFString &value, const OFBool check = OFTrue); + + private: + + /// internal flag used to mark the empty default item + /*const*/ OFBool EmptyDefaultItem; + + /// InstitutionAddress (0008,0081) vr=ST, vm=1, type=3 + DcmShortText InstitutionAddress; + /// InstitutionCodeSequence (0008,0082) vr=SQ, vm=1, type=1C + DRTInstitutionCodeSequence InstitutionCodeSequence; + /// InstitutionName (0008,0080) vr=LO, vm=1, type=1C + DcmLongString InstitutionName; + /// PersonAddress (0040,1102) vr=ST, vm=1, type=3 + DcmShortText PersonAddress; + /// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1 + DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence; + /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3 + DcmLongText PersonTelecomInformation; + /// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3 + DcmLongString PersonTelephoneNumbers; + + }; + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultSequence internal flag used to mark the empty default sequence + */ + DRTConsultingPhysicianIdentificationSequence(const OFBool emptyDefaultSequence = OFFalse); + + /** copy constructor + * @param copy sequence object to be copied + */ + DRTConsultingPhysicianIdentificationSequence(const DRTConsultingPhysicianIdentificationSequence ©); + + /** destructor + */ + virtual ~DRTConsultingPhysicianIdentificationSequence(); + + /** assigment operator + * @param copy sequence object to be copied + */ + DRTConsultingPhysicianIdentificationSequence &operator=(const DRTConsultingPhysicianIdentificationSequence ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if sequence is empty + * @return OFTrue if sequence is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if sequence is valid, i.e.\ not the empty default sequence + * @return OFTrue if sequence is valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** get number of items in the sequence + * @return number of items + */ + unsigned long getNumberOfItems() const; + + /** goto first item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoFirstItem(); + + /** goto next item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoNextItem(); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num); + + /** get current item in the sequence + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCurrentItem(Item *&item) const; + + /** get current item in the sequence + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getCurrentItem(); + + /** get current item in the sequence + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getCurrentItem() const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getItem(const unsigned long num, Item *&item); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getItem(const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getItem(const unsigned long num) const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &operator[](const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &operator[](const unsigned long num) const; + + /** add new item to the end of this sequence + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addItem(Item *&item); + + /** insert new item into the sequence + * @param pos position where the new item is to be inserted (0..num) + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition insertItem(const unsigned long pos, Item *&item); + + /** remove particular item from the sequence + * @param pos position of the item to be removed (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition removeItem(const unsigned long pos); + + // --- input/output methods --- + + /** read sequence of items from dataset + * @param dataset reference to DICOM dataset from which the sequence should be read + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "1C", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + /** write sequence of items to dataset + * @param dataset reference to DICOM dataset to which the sequence should be written + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + protected: + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListIterator(Item *) &iterator); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListConstIterator(Item *) &iterator) const; + + private: + + /// internal flag used to mark the empty default sequence + /*const*/ OFBool EmptyDefaultSequence; + + /// list of items in this sequence + OFList SequenceOfItems; + /// currently selected item + OFListIterator(Item *) CurrentItem; + /// empty default item + Item EmptyItem; + +}; + + +#endif diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcps.h index 7c0f9e44..996ace14 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -157,6 +157,13 @@ class DCMTK_DCMRT_EXPORT DRTControlPointSequence */ OFCondition getDoseRateSet(Float64 &value, const unsigned long pos = 0) const; + /** get ExternalContourEntryPoint (300a,0133) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getExternalContourEntryPoint(Float32 &value, const unsigned long pos = 0) const; + /** get GantryAngle (300a,011e) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -247,6 +254,13 @@ class DCMTK_DCMRT_EXPORT DRTControlPointSequence */ OFCondition getPatientSupportRotationDirection(OFString &value, const signed long pos = 0) const; + /** get SourceToExternalContourDistance (300a,0132) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getSourceToExternalContourDistance(Float32 &value, const unsigned long pos = 0) const; + /** get SourceToSurfaceDistance (300a,0130) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -473,6 +487,13 @@ class DCMTK_DCMRT_EXPORT DRTControlPointSequence */ OFCondition setDoseRateSet(const OFString &value, const OFBool check = OFTrue); + /** set ExternalContourEntryPoint (300a,0133) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=3 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setExternalContourEntryPoint(const Float32 value, const unsigned long pos = 0); + /** set GantryAngle (300a,011e) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled @@ -529,6 +550,13 @@ class DCMTK_DCMRT_EXPORT DRTControlPointSequence */ OFCondition setPatientSupportRotationDirection(const OFString &value, const OFBool check = OFTrue); + /** set SourceToExternalContourDistance (300a,0132) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setSourceToExternalContourDistance(const Float32 value, const unsigned long pos = 0); + /** set SourceToSurfaceDistance (300a,0130) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled @@ -630,6 +658,8 @@ class DCMTK_DCMRT_EXPORT DRTControlPointSequence DcmDecimalString CumulativeMetersetWeight; /// DoseRateSet (300a,0115) vr=DS, vm=1, type=3 DcmDecimalString DoseRateSet; + /// ExternalContourEntryPoint (300a,0133) vr=FL, vm=3, type=3 + DcmFloatingPointSingle ExternalContourEntryPoint; /// GantryAngle (300a,011e) vr=DS, vm=1, type=1C DcmDecimalString GantryAngle; /// GantryPitchAngle (300a,014a) vr=FL, vm=1, type=3 @@ -650,6 +680,8 @@ class DCMTK_DCMRT_EXPORT DRTControlPointSequence DRTReferencedDoseReferenceSequenceInRTBeamsModule ReferencedDoseReferenceSequence; /// ReferencedDoseSequence (300c,0080) vr=SQ, vm=1, type=1C DRTReferencedDoseSequence ReferencedDoseSequence; + /// SourceToExternalContourDistance (300a,0132) vr=FL, vm=1, type=3 + DcmFloatingPointSingle SourceToExternalContourDistance; /// SourceToSurfaceDistance (300a,0130) vr=DS, vm=1, type=3 DcmDecimalString SourceToSurfaceDistance; /// SurfaceEntryPoint (300a,012e) vr=DS, vm=3, type=3 diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcs.h index 42fe9b07..1e90545e 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTContourSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h index dbbf746e..e57aa0e5 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcsas.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTConversionSourceAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h index c8b3114c..273d59e2 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcshs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTChannelShieldSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h index d43fa125..279ba042 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcsis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTCodingSchemeIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtcss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtcss.h index 279e9389..5368bc55 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtcss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtcss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTChannelSourceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ChannelSourceSequence (003a,0208) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTChannelSourceSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTChannelSourceSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTChannelSourceSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTChannelSourceSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTChannelSourceSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTChannelSourceSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h index e8f4977a..49f3811f 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDerivationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for DerivationCodeSequence (0008,9215) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTDerivationCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTDerivationCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTDerivationCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTDerivationCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTDerivationCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTDerivationCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdias.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdias.h new file mode 100644 index 00000000..9e66cb66 --- /dev/null +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdias.h @@ -0,0 +1,318 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class DRTDeidentificationActionSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#ifndef DRTDIAS_H +#define DRTDIAS_H + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/ofstd/oflist.h" // for standard list class +#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class + + +/** Interface class for DeidentificationActionSequence (0008,0305) + */ +class DCMTK_DCMRT_EXPORT DRTDeidentificationActionSequence + : protected DRTTypes +{ + + public: + + /** Item class + */ + class DCMTK_DCMRT_EXPORT Item + : protected DRTTypes + { + + public: + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultItem flag used to mark the empty default item + */ + Item(const OFBool emptyDefaultItem = OFFalse); + + /** copy constructor + * @param copy item object to be copied + */ + Item(const Item ©); + + /** destructor + */ + virtual ~Item(); + + /** assigment operator + * @param copy item object to be copied + */ + Item &operator=(const Item ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if item is empty + * @return OFTrue if item is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if item is valid, i.e.\ not the empty default item + * @return OFTrue if item is valid, OFFalse otherwise + */ + OFBool isValid() const; + + // --- input/output methods --- + + /** read elements from sequence item + * @param item reference to DICOM sequence item from which the elements should be read + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &item); + + /** write elements to sequence item + * @param item reference to DICOM sequence item to which the elements should be written + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &item); + + // --- get DICOM attribute values --- + + /** get DeidentificationAction (0008,0307) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getDeidentificationAction(OFString &value, const signed long pos = 0) const; + + /** get IdentifyingPrivateElements (0008,0306) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getIdentifyingPrivateElements(Uint16 &value, const unsigned long pos = 0) const; + + // --- set DICOM attribute values --- + + /** set DeidentificationAction (0008,0307) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setDeidentificationAction(const OFString &value, const OFBool check = OFTrue); + + /** set IdentifyingPrivateElements (0008,0306) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1-n + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setIdentifyingPrivateElements(const Uint16 value, const unsigned long pos = 0); + + private: + + /// internal flag used to mark the empty default item + /*const*/ OFBool EmptyDefaultItem; + + /// DeidentificationAction (0008,0307) vr=CS, vm=1, type=1 + DcmCodeString DeidentificationAction; + /// IdentifyingPrivateElements (0008,0306) vr=US, vm=1-n, type=1 + DcmUnsignedShort IdentifyingPrivateElements; + + }; + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultSequence internal flag used to mark the empty default sequence + */ + DRTDeidentificationActionSequence(const OFBool emptyDefaultSequence = OFFalse); + + /** copy constructor + * @param copy sequence object to be copied + */ + DRTDeidentificationActionSequence(const DRTDeidentificationActionSequence ©); + + /** destructor + */ + virtual ~DRTDeidentificationActionSequence(); + + /** assigment operator + * @param copy sequence object to be copied + */ + DRTDeidentificationActionSequence &operator=(const DRTDeidentificationActionSequence ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if sequence is empty + * @return OFTrue if sequence is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if sequence is valid, i.e.\ not the empty default sequence + * @return OFTrue if sequence is valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** get number of items in the sequence + * @return number of items + */ + unsigned long getNumberOfItems() const; + + /** goto first item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoFirstItem(); + + /** goto next item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoNextItem(); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num); + + /** get current item in the sequence + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCurrentItem(Item *&item) const; + + /** get current item in the sequence + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getCurrentItem(); + + /** get current item in the sequence + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getCurrentItem() const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getItem(const unsigned long num, Item *&item); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getItem(const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getItem(const unsigned long num) const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &operator[](const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &operator[](const unsigned long num) const; + + /** add new item to the end of this sequence + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addItem(Item *&item); + + /** insert new item into the sequence + * @param pos position where the new item is to be inserted (0..num) + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition insertItem(const unsigned long pos, Item *&item); + + /** remove particular item from the sequence + * @param pos position of the item to be removed (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition removeItem(const unsigned long pos); + + // --- input/output methods --- + + /** read sequence of items from dataset + * @param dataset reference to DICOM dataset from which the sequence should be read + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "1C", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + /** write sequence of items to dataset + * @param dataset reference to DICOM dataset to which the sequence should be written + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + protected: + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListIterator(Item *) &iterator); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListConstIterator(Item *) &iterator) const; + + private: + + /// internal flag used to mark the empty default sequence + /*const*/ OFBool EmptyDefaultSequence; + + /// list of items in this sequence + OFList SequenceOfItems; + /// currently selected item + OFListIterator(Item *) CurrentItem; + /// empty default item + Item EmptyItem; + +}; + + +#endif diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h index 7bc7c7df..40d30cb9 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdimcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDeidentificationMethodCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for DeidentificationMethodCodeSequence (0012,0064) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTDeidentificationMethodCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTDeidentificationMethodCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTDeidentificationMethodCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTDeidentificationMethodCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTDeidentificationMethodCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTDeidentificationMethodCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h index a62626e8..9bca717c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdimrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDICOMMediaRetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h index 7f1d796c..ca2f9075 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdirs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDICOMRetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h index b2669c31..254a86f3 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtds.h index 4ed63954..c1c1a547 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for DeviceSequence (0050,0010) @@ -244,6 +245,13 @@ class DCMTK_DCMRT_EXPORT DRTDeviceSequence */ OFCondition getInterMarkerDistance(Float64 &value, const unsigned long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get Manufacturer (0008,0070) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -265,6 +273,34 @@ class DCMTK_DCMRT_EXPORT DRTDeviceSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -393,6 +429,13 @@ class DCMTK_DCMRT_EXPORT DRTDeviceSequence */ OFCondition setInterMarkerDistance(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set Manufacturer (0008,0070) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled @@ -414,6 +457,20 @@ class DCMTK_DCMRT_EXPORT DRTDeviceSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -421,9 +478,9 @@ class DCMTK_DCMRT_EXPORT DRTDeviceSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -453,14 +510,22 @@ class DCMTK_DCMRT_EXPORT DRTDeviceSequence DcmLongString DeviceSerialNumber; /// DeviceVolume (0050,0018) vr=DS, vm=1, type=3 DcmDecimalString DeviceVolume; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; /// InterMarkerDistance (0050,0019) vr=DS, vm=1, type=3 DcmDecimalString InterMarkerDistance; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// Manufacturer (0008,0070) vr=LO, vm=1, type=3 DcmLongString Manufacturer; /// ManufacturerModelName (0008,1090) vr=LO, vm=1, type=3 DcmLongString ManufacturerModelName; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h index f0a9066b..258b1b9c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdspcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDigitalSignaturePurposeCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for DigitalSignaturePurposeCodeSequence (0400,0401) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTDigitalSignaturePurposeCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTDigitalSignaturePurposeCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTDigitalSignaturePurposeCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTDigitalSignaturePurposeCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTDigitalSignaturePurposeCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTDigitalSignaturePurposeCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdss.h index cc0a9849..6def9ee7 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDigitalSignaturesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h index da915c9f..ec4b5ce0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdvhs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDVHSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h index 3065b724..4bffe6da 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtdvrrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTDVHReferencedROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drteas.h b/dcmrt/include/dcmtk/dcmrt/seq/drteas.h index da128b23..ca2279e0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drteas.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drteas.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTEncryptedAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtecs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtecs.h new file mode 100644 index 00000000..0bedc2c2 --- /dev/null +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtecs.h @@ -0,0 +1,382 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class DRTEquivalentCodeSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#ifndef DRTECS_H +#define DRTECS_H + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/ofstd/oflist.h" // for standard list class +#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class + + +/** Interface class for EquivalentCodeSequence (0008,0121) + */ +class DCMTK_DCMRT_EXPORT DRTEquivalentCodeSequence + : protected DRTTypes +{ + + public: + + /** Item class + */ + class DCMTK_DCMRT_EXPORT Item + : protected DRTTypes + { + + public: + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultItem flag used to mark the empty default item + */ + Item(const OFBool emptyDefaultItem = OFFalse); + + /** copy constructor + * @param copy item object to be copied + */ + Item(const Item ©); + + /** destructor + */ + virtual ~Item(); + + /** assigment operator + * @param copy item object to be copied + */ + Item &operator=(const Item ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if item is empty + * @return OFTrue if item is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if item is valid, i.e.\ not the empty default item + * @return OFTrue if item is valid, OFFalse otherwise + */ + OFBool isValid() const; + + // --- input/output methods --- + + /** read elements from sequence item + * @param item reference to DICOM sequence item from which the elements should be read + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &item); + + /** write elements to sequence item + * @param item reference to DICOM sequence item to which the elements should be written + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &item); + + // --- get DICOM attribute values --- + + /** get CodeMeaning (0008,0104) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCodeMeaning(OFString &value, const signed long pos = 0) const; + + /** get CodeValue (0008,0100) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCodeValue(OFString &value, const signed long pos = 0) const; + + /** get CodingSchemeDesignator (0008,0102) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCodingSchemeDesignator(OFString &value, const signed long pos = 0) const; + + /** get CodingSchemeVersion (0008,0103) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCodingSchemeVersion(OFString &value, const signed long pos = 0) const; + + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- set DICOM attribute values --- + + /** set CodeMeaning (0008,0104) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setCodeMeaning(const OFString &value, const OFBool check = OFTrue); + + /** set CodeValue (0008,0100) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setCodeValue(const OFString &value, const OFBool check = OFTrue); + + /** set CodingSchemeDesignator (0008,0102) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setCodingSchemeDesignator(const OFString &value, const OFBool check = OFTrue); + + /** set CodingSchemeVersion (0008,0103) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (SH) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setCodingSchemeVersion(const OFString &value, const OFBool check = OFTrue); + + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + + private: + + /// internal flag used to mark the empty default item + /*const*/ OFBool EmptyDefaultItem; + + /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 + DcmLongString CodeMeaning; + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C + DcmShortString CodeValue; + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C + DcmShortString CodingSchemeDesignator; + /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C + DcmShortString CodingSchemeVersion; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; + + }; + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultSequence internal flag used to mark the empty default sequence + */ + DRTEquivalentCodeSequence(const OFBool emptyDefaultSequence = OFFalse); + + /** copy constructor + * @param copy sequence object to be copied + */ + DRTEquivalentCodeSequence(const DRTEquivalentCodeSequence ©); + + /** destructor + */ + virtual ~DRTEquivalentCodeSequence(); + + /** assigment operator + * @param copy sequence object to be copied + */ + DRTEquivalentCodeSequence &operator=(const DRTEquivalentCodeSequence ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if sequence is empty + * @return OFTrue if sequence is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if sequence is valid, i.e.\ not the empty default sequence + * @return OFTrue if sequence is valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** get number of items in the sequence + * @return number of items + */ + unsigned long getNumberOfItems() const; + + /** goto first item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoFirstItem(); + + /** goto next item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoNextItem(); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num); + + /** get current item in the sequence + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCurrentItem(Item *&item) const; + + /** get current item in the sequence + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getCurrentItem(); + + /** get current item in the sequence + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getCurrentItem() const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getItem(const unsigned long num, Item *&item); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getItem(const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getItem(const unsigned long num) const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &operator[](const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &operator[](const unsigned long num) const; + + /** add new item to the end of this sequence + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addItem(Item *&item); + + /** insert new item into the sequence + * @param pos position where the new item is to be inserted (0..num) + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition insertItem(const unsigned long pos, Item *&item); + + /** remove particular item from the sequence + * @param pos position of the item to be removed (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition removeItem(const unsigned long pos); + + // --- input/output methods --- + + /** read sequence of items from dataset + * @param dataset reference to DICOM dataset from which the sequence should be read + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "1C", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + /** write sequence of items to dataset + * @param dataset reference to DICOM dataset to which the sequence should be written + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + protected: + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListIterator(Item *) &iterator); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListConstIterator(Item *) &iterator) const; + + private: + + /// internal flag used to mark the empty default sequence + /*const*/ OFBool EmptyDefaultSequence; + + /// list of items in this sequence + OFList SequenceOfItems; + /// currently selected item + OFListIterator(Item *) CurrentItem; + /// empty default item + Item EmptyItem; + +}; + + +#endif diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtes.h b/dcmrt/include/dcmtk/dcmrt/seq/drtes.h index 962bae77..91d48518 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtes.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtes.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTExposureSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtfds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtfds.h index f395854d..3958b4e5 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtfds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtfds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTFixationDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtfes.h b/dcmrt/include/dcmtk/dcmrt/seq/drtfes.h index 2cdce0b0..c0b838ae 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtfes.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtfes.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTFrameExtractionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h index 1ebd6afc..271ad229 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtfgs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTFractionGroupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h index eb8aadcd..2d51366d 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtfgss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTFractionGroupSummarySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtfms.h b/dcmrt/include/dcmtk/dcmrt/seq/drtfms.h index bd0235a3..8f86405c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtfms.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtfms.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTFluenceMapSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h index 8994fdd6..ae70ff56 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtfsss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTFractionStatusSummarySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtgas.h b/dcmrt/include/dcmtk/dcmrt/seq/drtgas.h index 436ce966..996eb8bf 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtgas.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtgas.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTGeneralAccessorySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h index 56fb9784..0b84aa3c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drthsdrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTHL7StructuredDocumentReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtiais.h b/dcmrt/include/dcmtk/dcmrt/seq/drtiais.h index 870e1eb0..3426c48a 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtiais.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtiais.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIssuerOfAdmissionIDSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtians.h b/dcmrt/include/dcmtk/dcmrt/seq/drtians.h index b055948a..d3c22e62 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtians.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtians.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIssuerOfAccessionNumberSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h index 1cdc7c02..253673f8 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtiblds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonBeamLimitingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtibls.h b/dcmrt/include/dcmtk/dcmrt/seq/drtibls.h index 295adb71..d1cf983f 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtibls.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtibls.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonBlockSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtbss.h" // for BlockSlabSequence /** Interface class for IonBlockSequence (300a,03a6) @@ -208,6 +209,34 @@ class DCMTK_DCMRT_EXPORT DRTIonBlockSequence */ OFCondition getMaterialID(OFString &value, const signed long pos = 0) const; + /** get NumberOfBlockSlabItems (300a,0440) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getNumberOfBlockSlabItems(OFString &value, const signed long pos = 0) const; + + /** get NumberOfBlockSlabItems (300a,0440) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getNumberOfBlockSlabItems(Sint32 &value, const unsigned long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get BlockSlabSequence (300a,0441) + * @return reference to sequence element + */ + DRTBlockSlabSequence &getBlockSlabSequence() + { return BlockSlabSequence; } + + /** get BlockSlabSequence (300a,0441) + * @return const reference to sequence element + */ + const DRTBlockSlabSequence &getBlockSlabSequence() const + { return BlockSlabSequence; } + // --- set DICOM attribute values --- /** set AccessoryCode (300a,00f9) @@ -294,6 +323,13 @@ class DCMTK_DCMRT_EXPORT DRTIonBlockSequence */ OFCondition setMaterialID(const OFString &value, const OFBool check = OFTrue); + /** set NumberOfBlockSlabItems (300a,0440) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (IS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setNumberOfBlockSlabItems(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -313,6 +349,8 @@ class DCMTK_DCMRT_EXPORT DRTIonBlockSequence DcmIntegerString BlockNumber; /// BlockNumberOfPoints (300a,0104) vr=IS, vm=1, type=1 DcmIntegerString BlockNumberOfPoints; + /// BlockSlabSequence (300a,0441) vr=SQ, vm=1, type=1C + DRTBlockSlabSequence BlockSlabSequence; /// BlockThickness (300a,0100) vr=DS, vm=1, type=1 DcmDecimalString BlockThickness; /// BlockTrayID (300a,00f5) vr=SH, vm=1, type=3 @@ -323,6 +361,8 @@ class DCMTK_DCMRT_EXPORT DRTIonBlockSequence DcmFloatingPointSingle IsocenterToBlockTrayDistance; /// MaterialID (300a,00e1) vr=SH, vm=1, type=2 DcmShortString MaterialID; + /// NumberOfBlockSlabItems (300a,0440) vr=IS, vm=1, type=3 + DcmIntegerString NumberOfBlockSlabItems; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtibs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtibs.h index c350fce2..105ab416 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtibs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtibs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonBeamSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drticpds.h b/dcmrt/include/dcmtk/dcmrt/seq/drticpds.h index 6fc504c8..5cd017c9 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drticpds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drticpds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonControlPointDeliverySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drticps.h b/dcmrt/include/dcmtk/dcmrt/seq/drticps.h index 03e3ed69..e13581a9 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drticps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drticps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -145,6 +145,13 @@ class DCMTK_DCMRT_EXPORT DRTIonControlPointSequence */ OFCondition getCumulativeMetersetWeight(Float64 &value, const unsigned long pos = 0) const; + /** get ExternalContourEntryPoint (300a,0133) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getExternalContourEntryPoint(Float32 &value, const unsigned long pos = 0) const; + /** get GantryAngle (300a,011e) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -520,6 +527,13 @@ class DCMTK_DCMRT_EXPORT DRTIonControlPointSequence */ OFCondition setCumulativeMetersetWeight(const OFString &value, const OFBool check = OFTrue); + /** set ExternalContourEntryPoint (300a,0133) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=3 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setExternalContourEntryPoint(const Float32 value, const unsigned long pos = 0); + /** set GantryAngle (300a,011e) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled @@ -717,6 +731,8 @@ class DCMTK_DCMRT_EXPORT DRTIonControlPointSequence DcmIntegerString ControlPointIndex; /// CumulativeMetersetWeight (300a,0134) vr=DS, vm=1, type=2 DcmDecimalString CumulativeMetersetWeight; + /// ExternalContourEntryPoint (300a,0133) vr=FL, vm=3, type=3 + DcmFloatingPointSingle ExternalContourEntryPoint; /// GantryAngle (300a,011e) vr=DS, vm=1, type=1C DcmDecimalString GantryAngle; /// GantryPitchAngle (300a,014a) vr=FL, vm=1, type=2C diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtics.h b/dcmrt/include/dcmtk/dcmrt/seq/drtics.h index c97c606e..653883f2 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtics.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtics.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTInstitutionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for InstitutionCodeSequence (0008,0082) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTInstitutionCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTInstitutionCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTInstitutionCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTInstitutionCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTInstitutionCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTInstitutionCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtiis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtiis.h index 19bdc23c..de08f191 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtiis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtiis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIconImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h index 648d59d0..60405a4c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtipiqs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIssuerOfPatientIDQualifiersSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtircs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtircs.h index 5fc7c21e..0cd39696 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtircs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtircs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonRangeCompensatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h index 18e2aec2..bc19b3eb 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtiseis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIssuerOfServiceEpisodeIDSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtitts.h b/dcmrt/include/dcmtk/dcmrt/seq/drtitts.h index 41b526d8..957209a9 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtitts.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtitts.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonToleranceTableSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h index a7528f9e..fb5df8b0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtiwps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonWedgePositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtiws.h b/dcmrt/include/dcmtk/dcmrt/seq/drtiws.h index 8f76f8e9..5e4800c4 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtiws.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtiws.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTIonWedgeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h index 217f2c78..0bd66a70 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtlsds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTLateralSpreadingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h index 2eb33309..45ec9aa9 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtlsds6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h b/dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h index 62ea3d33..4f57af6c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtlsds7.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h index 38ffb0f5..9ebcc727 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtmacds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTMultiplexedAudioChannelsDescriptionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtmas.h b/dcmrt/include/dcmtk/dcmrt/seq/drtmas.h index 10abeac8..040061c5 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtmas.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtmas.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTModifiedAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h index 6470bc6f..4b6cd505 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtmdrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTMeasuredDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtmls.h b/dcmrt/include/dcmtk/dcmrt/seq/drtmls.h index 15164f68..3fab93e0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtmls.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtmls.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTModalityLUTSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtmps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtmps.h index 85b1217a..8cb09f28 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtmps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtmps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTMACParametersSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtmss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtmss.h index 9f5dc942..586f153a 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtmss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtmss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTMotionSynchronizationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h index 5e7dfe37..6f73d721 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtmucs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTMeasurementUnitsCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for MeasurementUnitsCodeSequence (0040,08ea) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTMeasurementUnitsCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTMeasurementUnitsCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTMeasurementUnitsCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTMeasurementUnitsCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTMeasurementUnitsCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTMeasurementUnitsCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtoas.h b/dcmrt/include/dcmtk/dcmrt/seq/drtoas.h index 83cba3bf..b0de7e0e 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtoas.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtoas.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTOriginalAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtois.h b/dcmrt/include/dcmtk/dcmrt/seq/drtois.h index 9091837c..68c33b91 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtois.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtois.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTOperatorIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -113,6 +113,13 @@ class DCMTK_DCMRT_EXPORT DRTOperatorIdentificationSequence */ OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const; + /** get PersonTelecomInformation (0040,1104) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const; + /** get PersonTelephoneNumbers (0040,1103) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -169,6 +176,13 @@ class DCMTK_DCMRT_EXPORT DRTOperatorIdentificationSequence */ OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelecomInformation (0040,1104) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelephoneNumbers (0040,1103) * @param value value to be set (possibly multi-valued) or "" for no value * @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled @@ -191,6 +205,8 @@ class DCMTK_DCMRT_EXPORT DRTOperatorIdentificationSequence DcmShortText PersonAddress; /// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1 DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence; + /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3 + DcmLongText PersonTelecomInformation; /// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3 DcmLongString PersonTelephoneNumbers; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtopis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtopis.h index 2aeeeb6b..c1f068f8 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtopis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtopis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTOtherPatientIDsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtos.h b/dcmrt/include/dcmtk/dcmrt/seq/drtos.h index 55710746..eee419e0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtos.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtos.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTOverrideSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h index 5edfd0e2..a044d022 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpbcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPatientBreedCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for PatientBreedCodeSequence (0010,2293) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTPatientBreedCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTPatientBreedCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTPatientBreedCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTPatientBreedCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTPatientBreedCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTPatientBreedCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h index 7e036ae3..06942a6b 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ProcedureCodeSequence (0008,1032) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTProcedureCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTProcedureCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTProcedureCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTProcedureCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTProcedureCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTProcedureCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h index 9bbc1a75..db5baa51 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpcxs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTProtocolContextSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h new file mode 100644 index 00000000..7cbca8a6 --- /dev/null +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpdecs.h @@ -0,0 +1,367 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class DRTPrivateDataElementCharacteristicsSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#ifndef DRTPDECS_H +#define DRTPDECS_H + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/ofstd/oflist.h" // for standard list class +#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtdias.h" // for DeidentificationActionSequence + + +/** Interface class for PrivateDataElementCharacteristicsSequence (0008,0300) + */ +class DCMTK_DCMRT_EXPORT DRTPrivateDataElementCharacteristicsSequence + : protected DRTTypes +{ + + public: + + /** Item class + */ + class DCMTK_DCMRT_EXPORT Item + : protected DRTTypes + { + + public: + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultItem flag used to mark the empty default item + */ + Item(const OFBool emptyDefaultItem = OFFalse); + + /** copy constructor + * @param copy item object to be copied + */ + Item(const Item ©); + + /** destructor + */ + virtual ~Item(); + + /** assigment operator + * @param copy item object to be copied + */ + Item &operator=(const Item ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if item is empty + * @return OFTrue if item is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if item is valid, i.e.\ not the empty default item + * @return OFTrue if item is valid, OFFalse otherwise + */ + OFBool isValid() const; + + // --- input/output methods --- + + /** read elements from sequence item + * @param item reference to DICOM sequence item from which the elements should be read + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &item); + + /** write elements to sequence item + * @param item reference to DICOM sequence item to which the elements should be written + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &item); + + // --- get DICOM attribute values --- + + /** get BlockIdentifyingInformationStatus (0008,0303) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getBlockIdentifyingInformationStatus(OFString &value, const signed long pos = 0) const; + + /** get NonidentifyingPrivateElements (0008,0304) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getNonidentifyingPrivateElements(Uint16 &value, const unsigned long pos = 0) const; + + /** get PrivateCreatorReference (0008,0302) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPrivateCreatorReference(OFString &value, const signed long pos = 0) const; + + /** get PrivateGroupReference (0008,0301) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPrivateGroupReference(Uint16 &value, const unsigned long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get DeidentificationActionSequence (0008,0305) + * @return reference to sequence element + */ + DRTDeidentificationActionSequence &getDeidentificationActionSequence() + { return DeidentificationActionSequence; } + + /** get DeidentificationActionSequence (0008,0305) + * @return const reference to sequence element + */ + const DRTDeidentificationActionSequence &getDeidentificationActionSequence() const + { return DeidentificationActionSequence; } + + // --- set DICOM attribute values --- + + /** set BlockIdentifyingInformationStatus (0008,0303) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setBlockIdentifyingInformationStatus(const OFString &value, const OFBool check = OFTrue); + + /** set NonidentifyingPrivateElements (0008,0304) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1-n + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setNonidentifyingPrivateElements(const Uint16 value, const unsigned long pos = 0); + + /** set PrivateCreatorReference (0008,0302) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LO) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPrivateCreatorReference(const OFString &value, const OFBool check = OFTrue); + + /** set PrivateGroupReference (0008,0301) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPrivateGroupReference(const Uint16 value, const unsigned long pos = 0); + + private: + + /// internal flag used to mark the empty default item + /*const*/ OFBool EmptyDefaultItem; + + /// BlockIdentifyingInformationStatus (0008,0303) vr=CS, vm=1, type=1 + DcmCodeString BlockIdentifyingInformationStatus; + /// DeidentificationActionSequence (0008,0305) vr=SQ, vm=1, type=3 + DRTDeidentificationActionSequence DeidentificationActionSequence; + /// NonidentifyingPrivateElements (0008,0304) vr=US, vm=1-n, type=1C + DcmUnsignedShort NonidentifyingPrivateElements; + /// PrivateCreatorReference (0008,0302) vr=LO, vm=1, type=1 + DcmLongString PrivateCreatorReference; + /// PrivateGroupReference (0008,0301) vr=US, vm=1, type=1 + DcmUnsignedShort PrivateGroupReference; + + }; + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultSequence internal flag used to mark the empty default sequence + */ + DRTPrivateDataElementCharacteristicsSequence(const OFBool emptyDefaultSequence = OFFalse); + + /** copy constructor + * @param copy sequence object to be copied + */ + DRTPrivateDataElementCharacteristicsSequence(const DRTPrivateDataElementCharacteristicsSequence ©); + + /** destructor + */ + virtual ~DRTPrivateDataElementCharacteristicsSequence(); + + /** assigment operator + * @param copy sequence object to be copied + */ + DRTPrivateDataElementCharacteristicsSequence &operator=(const DRTPrivateDataElementCharacteristicsSequence ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if sequence is empty + * @return OFTrue if sequence is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if sequence is valid, i.e.\ not the empty default sequence + * @return OFTrue if sequence is valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** get number of items in the sequence + * @return number of items + */ + unsigned long getNumberOfItems() const; + + /** goto first item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoFirstItem(); + + /** goto next item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoNextItem(); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num); + + /** get current item in the sequence + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCurrentItem(Item *&item) const; + + /** get current item in the sequence + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getCurrentItem(); + + /** get current item in the sequence + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getCurrentItem() const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getItem(const unsigned long num, Item *&item); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getItem(const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getItem(const unsigned long num) const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &operator[](const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &operator[](const unsigned long num) const; + + /** add new item to the end of this sequence + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addItem(Item *&item); + + /** insert new item into the sequence + * @param pos position where the new item is to be inserted (0..num) + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition insertItem(const unsigned long pos, Item *&item); + + /** remove particular item from the sequence + * @param pos position of the item to be removed (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition removeItem(const unsigned long pos); + + // --- input/output methods --- + + /** read sequence of items from dataset + * @param dataset reference to DICOM dataset from which the sequence should be read + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "1C", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + /** write sequence of items to dataset + * @param dataset reference to DICOM dataset to which the sequence should be written + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + protected: + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListIterator(Item *) &iterator); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListConstIterator(Item *) &iterator) const; + + private: + + /// internal flag used to mark the empty default sequence + /*const*/ OFBool EmptyDefaultSequence; + + /// list of items in this sequence + OFList SequenceOfItems; + /// currently selected item + OFListIterator(Item *) CurrentItem; + /// empty default item + Item EmptyItem; + +}; + + +#endif diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h index 517b2ecd..6a2c7441 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpfms.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPrimaryFluenceModeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpics.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpics.h index 2424ab3c..18379149 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpics.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpics.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPersonIdentificationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for PersonIdentificationCodeSequence (0040,1101) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTPersonIdentificationCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTPersonIdentificationCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTPersonIdentificationCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTPersonIdentificationCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTPersonIdentificationCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTPersonIdentificationCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h index c218d0e7..3f60799a 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtporcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPurposeOfReferenceCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for PurposeOfReferenceCodeSequence (0040,a170) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTPurposeOfReferenceCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTPurposeOfReferenceCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTPurposeOfReferenceCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTPurposeOfReferenceCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTPurposeOfReferenceCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTPurposeOfReferenceCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtporis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtporis.h index bf19f16d..c320ab3d 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtporis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtporis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPhysiciansOfRecordIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -113,6 +113,13 @@ class DCMTK_DCMRT_EXPORT DRTPhysiciansOfRecordIdentificationSequence */ OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const; + /** get PersonTelecomInformation (0040,1104) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const; + /** get PersonTelephoneNumbers (0040,1103) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -169,6 +176,13 @@ class DCMTK_DCMRT_EXPORT DRTPhysiciansOfRecordIdentificationSequence */ OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelecomInformation (0040,1104) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelephoneNumbers (0040,1103) * @param value value to be set (possibly multi-valued) or "" for no value * @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled @@ -191,6 +205,8 @@ class DCMTK_DCMRT_EXPORT DRTPhysiciansOfRecordIdentificationSequence DcmShortText PersonAddress; /// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1 DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence; + /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3 + DcmLongText PersonTelecomInformation; /// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3 DcmLongString PersonTelephoneNumbers; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h index 03a6d40c..61d23144 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtppcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPerformedProtocolCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence #include "dcmtk/dcmrt/seq/drtpcxs.h" // for ProtocolContextSequence @@ -161,6 +162,13 @@ class DCMTK_DCMRT_EXPORT DRTPerformedProtocolCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -168,8 +176,34 @@ class DCMTK_DCMRT_EXPORT DRTPerformedProtocolCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + // --- get DICOM sequence attributes --- + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + /** get ProtocolContextSequence (0040,0440) * @return reference to sequence element */ @@ -254,6 +288,13 @@ class DCMTK_DCMRT_EXPORT DRTPerformedProtocolCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -261,6 +302,20 @@ class DCMTK_DCMRT_EXPORT DRTPerformedProtocolCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -268,9 +323,9 @@ class DCMTK_DCMRT_EXPORT DRTPerformedProtocolCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -286,10 +341,18 @@ class DCMTK_DCMRT_EXPORT DRTPerformedProtocolCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; /// ProtocolContextSequence (0040,0440) vr=SQ, vm=1, type=3 DRTProtocolContextSequence ProtocolContextSequence; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h index a5607935..77a56c7d 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtprsis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPhysiciansReadingStudyIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -113,6 +113,13 @@ class DCMTK_DCMRT_EXPORT DRTPhysiciansReadingStudyIdentificationSequence */ OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const; + /** get PersonTelecomInformation (0040,1104) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const; + /** get PersonTelephoneNumbers (0040,1103) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -169,6 +176,13 @@ class DCMTK_DCMRT_EXPORT DRTPhysiciansReadingStudyIdentificationSequence */ OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelecomInformation (0040,1104) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelephoneNumbers (0040,1103) * @param value value to be set (possibly multi-valued) or "" for no value * @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled @@ -191,6 +205,8 @@ class DCMTK_DCMRT_EXPORT DRTPhysiciansReadingStudyIdentificationSequence DcmShortText PersonAddress; /// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1 DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence; + /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3 + DcmLongText PersonTelecomInformation; /// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3 DcmLongString PersonTelephoneNumbers; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h index 6f4ba682..4e449dda 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpscs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPatientSpeciesCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for PatientSpeciesCodeSequence (0010,2202) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTPatientSpeciesCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTPatientSpeciesCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTPatientSpeciesCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTPatientSpeciesCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTPatientSpeciesCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTPatientSpeciesCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h index 46cb6799..4b782662 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpsics.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPatientSizeCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for PatientSizeCodeSequence (0010,1021) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTPatientSizeCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTPatientSizeCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTPatientSizeCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTPatientSizeCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTPatientSizeCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTPatientSizeCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpss.h index 541893b7..86868409 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPatientSetupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h index 91b16072..2d03e6c0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpsss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPredecessorStructureSetSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h index 6926f5a0..b0ec5873 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtpvis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTPlannedVerificationImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtqds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtqds.h new file mode 100644 index 00000000..510cac7f --- /dev/null +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtqds.h @@ -0,0 +1,537 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class DRTQuantityDefinitionSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#ifndef DRTQDS_H +#define DRTQDS_H + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/ofstd/oflist.h" // for standard list class +#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtccs.h" // for ConceptCodeSequence +#include "dcmtk/dcmrt/seq/drtcncs.h" // for ConceptNameCodeSequence +#include "dcmtk/dcmrt/seq/drtmucs.h" // for MeasurementUnitsCodeSequence +#include "dcmtk/dcmrt/seq/drtrsos.h" // for ReferencedSOPSequence + + +/** Interface class for QuantityDefinitionSequence (0040,9220) + */ +class DCMTK_DCMRT_EXPORT DRTQuantityDefinitionSequence + : protected DRTTypes +{ + + public: + + /** Item class + */ + class DCMTK_DCMRT_EXPORT Item + : protected DRTTypes + { + + public: + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultItem flag used to mark the empty default item + */ + Item(const OFBool emptyDefaultItem = OFFalse); + + /** copy constructor + * @param copy item object to be copied + */ + Item(const Item ©); + + /** destructor + */ + virtual ~Item(); + + /** assigment operator + * @param copy item object to be copied + */ + Item &operator=(const Item ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if item is empty + * @return OFTrue if item is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if item is valid, i.e.\ not the empty default item + * @return OFTrue if item is valid, OFFalse otherwise + */ + OFBool isValid() const; + + // --- input/output methods --- + + /** read elements from sequence item + * @param item reference to DICOM sequence item from which the elements should be read + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &item); + + /** write elements to sequence item + * @param item reference to DICOM sequence item to which the elements should be written + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &item); + + // --- get DICOM attribute values --- + + /** get Date (0040,a121) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getDate(OFString &value, const signed long pos = 0) const; + + /** get DateTime (0040,a120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getDateTime(OFString &value, const signed long pos = 0) const; + + /** get FloatingPointValue (0040,a161) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getFloatingPointValue(Float64 &value, const unsigned long pos = 0) const; + + /** get NumericValue (0040,a30a) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getNumericValue(OFString &value, const signed long pos = 0) const; + + /** get NumericValue (0040,a30a) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getNumericValue(Float64 &value, const unsigned long pos = 0) const; + + /** get NumericValue (0040,a30a) + * @param value reference to variable in which the value(s) should be stored + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getNumericValue(OFVector &value) const; + + /** get PersonName (0040,a123) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonName(OFString &value, const signed long pos = 0) const; + + /** get RationalDenominatorValue (0040,a163) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getRationalDenominatorValue(Uint32 &value, const unsigned long pos = 0) const; + + /** get RationalNumeratorValue (0040,a162) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getRationalNumeratorValue(Sint32 &value, const unsigned long pos = 0) const; + + /** get TextValue (0040,a160) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getTextValue(OFString &value, const signed long pos = 0) const; + + /** get Time (0040,a122) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getTime(OFString &value, const signed long pos = 0) const; + + /** get UID (0040,a124) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getUID(OFString &value, const signed long pos = 0) const; + + /** get ValueType (0040,a040) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getValueType(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get ConceptCodeSequence (0040,a168) + * @return reference to sequence element + */ + DRTConceptCodeSequence &getConceptCodeSequence() + { return ConceptCodeSequence; } + + /** get ConceptCodeSequence (0040,a168) + * @return const reference to sequence element + */ + const DRTConceptCodeSequence &getConceptCodeSequence() const + { return ConceptCodeSequence; } + + /** get ConceptNameCodeSequence (0040,a043) + * @return reference to sequence element + */ + DRTConceptNameCodeSequence &getConceptNameCodeSequence() + { return ConceptNameCodeSequence; } + + /** get ConceptNameCodeSequence (0040,a043) + * @return const reference to sequence element + */ + const DRTConceptNameCodeSequence &getConceptNameCodeSequence() const + { return ConceptNameCodeSequence; } + + /** get MeasurementUnitsCodeSequence (0040,08ea) + * @return reference to sequence element + */ + DRTMeasurementUnitsCodeSequence &getMeasurementUnitsCodeSequence() + { return MeasurementUnitsCodeSequence; } + + /** get MeasurementUnitsCodeSequence (0040,08ea) + * @return const reference to sequence element + */ + const DRTMeasurementUnitsCodeSequence &getMeasurementUnitsCodeSequence() const + { return MeasurementUnitsCodeSequence; } + + /** get ReferencedSOPSequence (0008,1199) + * @return reference to sequence element + */ + DRTReferencedSOPSequence &getReferencedSOPSequence() + { return ReferencedSOPSequence; } + + /** get ReferencedSOPSequence (0008,1199) + * @return const reference to sequence element + */ + const DRTReferencedSOPSequence &getReferencedSOPSequence() const + { return ReferencedSOPSequence; } + + // --- set DICOM attribute values --- + + /** set Date (0040,a121) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (DA) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setDate(const OFString &value, const OFBool check = OFTrue); + + /** set DateTime (0040,a120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (DT) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setDateTime(const OFString &value, const OFBool check = OFTrue); + + /** set FloatingPointValue (0040,a161) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1-n + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setFloatingPointValue(const Float64 value, const unsigned long pos = 0); + + /** set NumericValue (0040,a30a) + * @param value value to be set (possibly multi-valued) or "" for no value + * @param check check 'value' for conformance with VR (DS) and VM (1-n) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setNumericValue(const OFString &value, const OFBool check = OFTrue); + + /** set PersonName (0040,a123) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (PN) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonName(const OFString &value, const OFBool check = OFTrue); + + /** set RationalDenominatorValue (0040,a163) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1-n + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setRationalDenominatorValue(const Uint32 value, const unsigned long pos = 0); + + /** set RationalNumeratorValue (0040,a162) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1-n + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setRationalNumeratorValue(const Sint32 value, const unsigned long pos = 0); + + /** set TextValue (0040,a160) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UT) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setTextValue(const OFString &value, const OFBool check = OFTrue); + + /** set Time (0040,a122) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (TM) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setTime(const OFString &value, const OFBool check = OFTrue); + + /** set UID (0040,a124) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setUID(const OFString &value, const OFBool check = OFTrue); + + /** set ValueType (0040,a040) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setValueType(const OFString &value, const OFBool check = OFTrue); + + private: + + /// internal flag used to mark the empty default item + /*const*/ OFBool EmptyDefaultItem; + + /// ConceptCodeSequence (0040,a168) vr=SQ, vm=1, type=1C + DRTConceptCodeSequence ConceptCodeSequence; + /// ConceptNameCodeSequence (0040,a043) vr=SQ, vm=1, type=1 + DRTConceptNameCodeSequence ConceptNameCodeSequence; + /// Date (0040,a121) vr=DA, vm=1, type=1C + DcmDate Date; + /// DateTime (0040,a120) vr=DT, vm=1, type=1C + DcmDateTime DateTime; + /// FloatingPointValue (0040,a161) vr=FD, vm=1-n, type=1C + DcmFloatingPointDouble FloatingPointValue; + /// MeasurementUnitsCodeSequence (0040,08ea) vr=SQ, vm=1, type=1C + DRTMeasurementUnitsCodeSequence MeasurementUnitsCodeSequence; + /// NumericValue (0040,a30a) vr=DS, vm=1-n, type=1C + DcmDecimalString NumericValue; + /// PersonName (0040,a123) vr=PN, vm=1, type=1C + DcmPersonName PersonName; + /// RationalDenominatorValue (0040,a163) vr=UL, vm=1-n, type=1C + DcmUnsignedLong RationalDenominatorValue; + /// RationalNumeratorValue (0040,a162) vr=SL, vm=1-n, type=1C + DcmSignedLong RationalNumeratorValue; + /// ReferencedSOPSequence (0008,1199) vr=SQ, vm=1, type=1C + DRTReferencedSOPSequence ReferencedSOPSequence; + /// TextValue (0040,a160) vr=UT, vm=1, type=1C + DcmUnlimitedText TextValue; + /// Time (0040,a122) vr=TM, vm=1, type=1C + DcmTime Time; + /// UID (0040,a124) vr=UI, vm=1, type=1C + DcmUniqueIdentifier UID; + /// ValueType (0040,a040) vr=CS, vm=1, type=1 + DcmCodeString ValueType; + + }; + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultSequence internal flag used to mark the empty default sequence + */ + DRTQuantityDefinitionSequence(const OFBool emptyDefaultSequence = OFFalse); + + /** copy constructor + * @param copy sequence object to be copied + */ + DRTQuantityDefinitionSequence(const DRTQuantityDefinitionSequence ©); + + /** destructor + */ + virtual ~DRTQuantityDefinitionSequence(); + + /** assigment operator + * @param copy sequence object to be copied + */ + DRTQuantityDefinitionSequence &operator=(const DRTQuantityDefinitionSequence ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if sequence is empty + * @return OFTrue if sequence is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if sequence is valid, i.e.\ not the empty default sequence + * @return OFTrue if sequence is valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** get number of items in the sequence + * @return number of items + */ + unsigned long getNumberOfItems() const; + + /** goto first item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoFirstItem(); + + /** goto next item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoNextItem(); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num); + + /** get current item in the sequence + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCurrentItem(Item *&item) const; + + /** get current item in the sequence + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getCurrentItem(); + + /** get current item in the sequence + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getCurrentItem() const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getItem(const unsigned long num, Item *&item); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getItem(const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getItem(const unsigned long num) const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &operator[](const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &operator[](const unsigned long num) const; + + /** add new item to the end of this sequence + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addItem(Item *&item); + + /** insert new item into the sequence + * @param pos position where the new item is to be inserted (0..num) + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition insertItem(const unsigned long pos, Item *&item); + + /** remove particular item from the sequence + * @param pos position of the item to be removed (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition removeItem(const unsigned long pos); + + // --- input/output methods --- + + /** read sequence of items from dataset + * @param dataset reference to DICOM dataset from which the sequence should be read + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "1C", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + /** write sequence of items to dataset + * @param dataset reference to DICOM dataset to which the sequence should be written + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + protected: + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListIterator(Item *) &iterator); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListConstIterator(Item *) &iterator) const; + + private: + + /// internal flag used to mark the empty default sequence + /*const*/ OFBool EmptyDefaultSequence; + + /// list of items in this sequence + OFList SequenceOfItems; + /// currently selected item + OFListIterator(Item *) CurrentItem; + /// empty default item + Item EmptyItem; + +}; + + +#endif diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtras.h b/dcmrt/include/dcmtk/dcmrt/seq/drtras.h index 681d2624..93c3fb56 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtras.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtras.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRequestAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h index fadcc958..cd7017b0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbas2.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBrachyApplicationSetupSequenceInRTDoseModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h index 934aa5bd..9bd023c9 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbas8.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h index 69924ab8..2fe40143 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbls.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRecordedBlockSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h index be5681a8..ddf9cd54 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbos1.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBolusSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h index db2c780a..50524c87 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbos6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBolusSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h index 3d91181e..2f63cf4f 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbos7.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBolusSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h index cc048d5d..ff393304 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbs2.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBeamSequenceInRTDoseModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h index 215f5335..4eb30e68 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbs4.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBeamSequenceInRTGeneralTreatmentRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h index 034c158f..335d75e8 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrbs8.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedBeamSequenceInRTFractionSchemeModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h index ca185f02..8928e896 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrcdrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedCalculatedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h index 7cbe4ace..eba6728e 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrcos.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRecordedCompensatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h index 2587dcc0..9f1e4961 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrcps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h index b13309af..d24f3e92 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTROIContourSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -105,6 +105,20 @@ class DCMTK_DCMRT_EXPORT DRTROIContourSequence */ OFCondition getROIDisplayColor(Sint32 &value, const unsigned long pos = 0) const; + /** get RecommendedDisplayCIELabValue (0062,000d) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getRecommendedDisplayCIELabValue(Uint16 &value, const unsigned long pos = 0) const; + + /** get RecommendedDisplayGrayscaleValue (0062,000c) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getRecommendedDisplayGrayscaleValue(Uint16 &value, const unsigned long pos = 0) const; + /** get ReferencedROINumber (3006,0084) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -142,6 +156,20 @@ class DCMTK_DCMRT_EXPORT DRTROIContourSequence */ OFCondition setROIDisplayColor(const OFString &value, const OFBool check = OFTrue); + /** set RecommendedDisplayCIELabValue (0062,000d) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=3 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setRecommendedDisplayCIELabValue(const Uint16 value, const unsigned long pos = 0); + + /** set RecommendedDisplayGrayscaleValue (0062,000c) + * @param value value to be set (should be valid for this VR) + * @param pos index of the value to be set (0..vm-1), vm=1 + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setRecommendedDisplayGrayscaleValue(const Uint16 value, const unsigned long pos = 0); + /** set ReferencedROINumber (3006,0084) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (IS) and VM (1) if enabled @@ -158,6 +186,10 @@ class DCMTK_DCMRT_EXPORT DRTROIContourSequence DRTContourSequence ContourSequence; /// ROIDisplayColor (3006,002a) vr=IS, vm=3, type=3 DcmIntegerString ROIDisplayColor; + /// RecommendedDisplayCIELabValue (0062,000d) vr=US, vm=3, type=3 + DcmUnsignedShort RecommendedDisplayCIELabValue; + /// RecommendedDisplayGrayscaleValue (0062,000c) vr=US, vm=1, type=3 + DcmUnsignedShort RecommendedDisplayGrayscaleValue; /// ReferencedROINumber (3006,0084) vr=IS, vm=1, type=1 DcmIntegerString ReferencedROINumber; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h index 0b07647a..80bfbe0b 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrdros.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRTDoseROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h index 987808a4..31738280 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs1.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedDoseReferenceSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h index 74e77799..17320847 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedDoseReferenceSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h index 8bbf638a..119e77f7 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrdrs8.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrds.h index 149b0875..40e6bca8 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedDoseSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h index 511d034c..20b6b1ee 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrecs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTROIElementalCompositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h index 0c8ae115..79fad866 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrfgs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedFractionGroupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h index c4b587f2..514fb87c 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrfors.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedFrameOfReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrics.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrics.h index 5361e915..2aee19aa 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrics.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrics.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRTROIIdentificationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for RTROIIdentificationCodeSequence (3006,0086) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTRTROIIdentificationCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTRTROIIdentificationCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTRTROIIdentificationCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTRTROIIdentificationCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTRTROIIdentificationCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTRTROIIdentificationCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrims.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrims.h index 44ea3ee2..c5cc0896 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrims.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrims.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtris.h b/dcmrt/include/dcmtk/dcmrt/seq/drtris.h index 61406683..e02c5994 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtris.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtris.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedInstanceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h index ee9c34f3..c802d6de 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrlsds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRecordedLateralSpreadingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h index c8bf1238..b8e7da6d 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrmdrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedMeasuredDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrms.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrms.h index a28fae0b..f45f87e1 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrms.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrms.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRangeModulatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h index 05e6170b..9cf6e015 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrmss6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h index 6abee713..f0356b70 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrmss7.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h index 7a07df01..75b8e93e 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrpcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRequestedProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for RequestedProcedureCodeSequence (0032,1064) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTRequestedProcedureCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTRequestedProcedureCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTRequestedProcedureCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTRequestedProcedureCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTRequestedProcedureCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTRequestedProcedureCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h index c87c406a..4f466b19 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrpis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferringPhysicianIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -113,6 +113,13 @@ class DCMTK_DCMRT_EXPORT DRTReferringPhysicianIdentificationSequence */ OFCondition getPersonAddress(OFString &value, const signed long pos = 0) const; + /** get PersonTelecomInformation (0040,1104) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getPersonTelecomInformation(OFString &value, const signed long pos = 0) const; + /** get PersonTelephoneNumbers (0040,1103) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -169,6 +176,13 @@ class DCMTK_DCMRT_EXPORT DRTReferringPhysicianIdentificationSequence */ OFCondition setPersonAddress(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelecomInformation (0040,1104) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (LT) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPersonTelecomInformation(const OFString &value, const OFBool check = OFTrue); + /** set PersonTelephoneNumbers (0040,1103) * @param value value to be set (possibly multi-valued) or "" for no value * @param check check 'value' for conformance with VR (LO) and VM (1-n) if enabled @@ -191,6 +205,8 @@ class DCMTK_DCMRT_EXPORT DRTReferringPhysicianIdentificationSequence DcmShortText PersonAddress; /// PersonIdentificationCodeSequence (0040,1101) vr=SQ, vm=1, type=1 DRTPersonIdentificationCodeSequence PersonIdentificationCodeSequence; + /// PersonTelecomInformation (0040,1104) vr=LT, vm=1, type=3 + DcmLongText PersonTelecomInformation; /// PersonTelephoneNumbers (0040,1103) vr=LO, vm=1-n, type=3 DcmLongString PersonTelephoneNumbers; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h index 8a598f4e..165744df 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrppcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReasonForPerformedProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ReasonForPerformedProcedureCodeSequence (0040,1012) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTReasonForPerformedProcedureCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTReasonForPerformedProcedureCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTReasonForPerformedProcedureCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTReasonForPerformedProcedureCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTReasonForPerformedProcedureCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTReasonForPerformedProcedureCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h index 54156592..d7264885 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrpphs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedPatientPhotoSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -22,6 +22,7 @@ #include "dcmtk/dcmrt/seq/drtdimrs.h" // for DICOMMediaRetrievalSequence #include "dcmtk/dcmrt/seq/drtdirs.h" // for DICOMRetrievalSequence #include "dcmtk/dcmrt/seq/drtrsos.h" // for ReferencedSOPSequence +#include "dcmtk/dcmrt/seq/drtwrsrs.h" // for WADORSRetrievalSequence #include "dcmtk/dcmrt/seq/drtwrs.h" // for WADORetrievalSequence #include "dcmtk/dcmrt/seq/drtxrs.h" // for XDSRetrievalSequence @@ -154,6 +155,18 @@ class DCMTK_DCMRT_EXPORT DRTReferencedPatientPhotoSequence const DRTReferencedSOPSequence &getReferencedSOPSequence() const { return ReferencedSOPSequence; } + /** get WADORSRetrievalSequence (0040,e025) + * @return reference to sequence element + */ + DRTWADORSRetrievalSequence &getWADORSRetrievalSequence() + { return WADORSRetrievalSequence; } + + /** get WADORSRetrievalSequence (0040,e025) + * @return const reference to sequence element + */ + const DRTWADORSRetrievalSequence &getWADORSRetrievalSequence() const + { return WADORSRetrievalSequence; } + /** get WADORetrievalSequence (0040,e023) * @return reference to sequence element */ @@ -218,6 +231,8 @@ class DCMTK_DCMRT_EXPORT DRTReferencedPatientPhotoSequence DcmUniqueIdentifier StudyInstanceUID; /// TypeOfInstances (0040,e020) vr=CS, vm=1, type=1 DcmCodeString TypeOfInstances; + /// WADORSRetrievalSequence (0040,e025) vr=SQ, vm=1, type=1C + DRTWADORSRetrievalSequence WADORSRetrievalSequence; /// WADORetrievalSequence (0040,e023) vr=SQ, vm=1, type=1C DRTWADORetrievalSequence WADORetrievalSequence; /// XDSRetrievalSequence (0040,e024) vr=SQ, vm=1, type=1C diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h index fd49083b..193865cd 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrpps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTROIPhysicalPropertiesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h index 7a2464d1..7d241776 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrppss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedPerformedProcedureStepSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrps.h index 6b1d61bf..921b6149 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedPatientSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h index 8c0f2ce3..ac4456ba 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrris1.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedReferenceImageSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h index 31842d60..ffd2638e 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrris6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedReferenceImageSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h index f0f02e76..08e660af 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrris9.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedReferenceImageSequenceInRTBrachyApplicationSetupsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h index 51d9e459..d6bbcf57 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrms.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRecordedRangeModulatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrros.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrros.h index 6b2cd863..e2c9b7f5 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrros.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrros.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRTROIObservationsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h index ea42bbbd..2b348453 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrpcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReasonForRequestedProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for ReasonForRequestedProcedureCodeSequence (0040,100a) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTReasonForRequestedProcedureCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTReasonForRequestedProcedureCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTReasonForRequestedProcedureCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTReasonForRequestedProcedureCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTReasonForRequestedProcedureCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTReasonForRequestedProcedureCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h index ebb0abd0..d37493c1 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrros.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRelatedRTROIObservationsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h index 83bdecad..471d72fd 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRTRelatedROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h index 5f6a9e98..bb9f495f 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrshs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRecordedRangeShifterSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h index cba2380c..0b9a7ec7 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedRTPlanSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h index cc3549cd..73272e94 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps3.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedRTPlanSequenceInRTGeneralPlanModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h index 7617b178..7e5706f0 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps4.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedRTPlanSequenceInRTGeneralTreatmentRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h index a212069b..db4fe1fd 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrrtps5.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedRTPlanSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h index 19a9f907..4ee81149 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrscs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRequestingServiceCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for RequestingServiceCodeSequence (0032,1034) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTRequestingServiceCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTRequestingServiceCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTRequestingServiceCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTRequestingServiceCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTRequestingServiceCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTRequestingServiceCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h index cb28b07d..a0e546ea 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrsers.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedSeriesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrses.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrses.h index 057206fe..b6aabfd9 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrses.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrses.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRTReferencedSeriesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h index 86c552b3..e7f5d447 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrshs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRangeShifterSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h index b445293e..7476aafe 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrshs6.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRangeShifterSettingsSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h index e8a81f23..51d0ec05 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrshs7.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRangeShifterSettingsSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h index 60359ac6..cc41a4fd 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrsis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedSetupImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h index 8a22dd72..6339f1e3 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrsns.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRecordedSnoutSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h index 1c7d6b9c..31275ea4 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrsos.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedSOPSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h index c35f0bff..40fd3035 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrsrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedSpatialRegistrationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrss.h index 13f81aab..c8bb63cb 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedStudySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h index 948bc9eb..4bff060f 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrsss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedStructureSetSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h index c5b14974..524f0aad 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrsts.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRTReferencedStudySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h index 274dc95b..0697321b 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs2.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedTreatmentRecordSequenceInRTDoseModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h index dd6ad29b..2a18110d 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrtrs4.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedTreatmentRecordSequenceInRTGeneralTreatmentRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h index 370cf5ff..61a716fa 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrvis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTReferencedVerificationImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrws.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrws.h index a5bc8f2f..1d1e6ff2 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrws.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrws.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRecordedWedgeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h b/dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h index a773b0b3..b9f90371 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtrwvms.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTRealWorldValueMappingSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -20,6 +20,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class #include "dcmtk/dcmrt/seq/drtmucs.h" // for MeasurementUnitsCodeSequence +#include "dcmtk/dcmrt/seq/drtqds.h" // for QuantityDefinitionSequence /** Interface class for RealWorldValueMappingSequence (0040,9096) @@ -154,6 +155,18 @@ class DCMTK_DCMRT_EXPORT DRTRealWorldValueMappingSequence const DRTMeasurementUnitsCodeSequence &getMeasurementUnitsCodeSequence() const { return MeasurementUnitsCodeSequence; } + /** get QuantityDefinitionSequence (0040,9220) + * @return reference to sequence element + */ + DRTQuantityDefinitionSequence &getQuantityDefinitionSequence() + { return QuantityDefinitionSequence; } + + /** get QuantityDefinitionSequence (0040,9220) + * @return const reference to sequence element + */ + const DRTQuantityDefinitionSequence &getQuantityDefinitionSequence() const + { return QuantityDefinitionSequence; } + // --- set DICOM attribute values --- /** set LUTExplanation (0028,3003) @@ -216,6 +229,8 @@ class DCMTK_DCMRT_EXPORT DRTRealWorldValueMappingSequence DcmShortString LUTLabel; /// MeasurementUnitsCodeSequence (0040,08ea) vr=SQ, vm=1, type=1 DRTMeasurementUnitsCodeSequence MeasurementUnitsCodeSequence; + /// QuantityDefinitionSequence (0040,9220) vr=SQ, vm=1, type=3 + DRTQuantityDefinitionSequence QuantityDefinitionSequence; /// RealWorldValueFirstValueMapped (0040,9216) vr=US/SS, vm=1, type=1 DcmUnsignedShort RealWorldValueFirstValueMapped; /// RealWorldValueIntercept (0040,9224) vr=FD, vm=1, type=1C diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtscris.h b/dcmrt/include/dcmtk/dcmrt/seq/drtscris.h index a48d844b..70c5a4cd 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtscris.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtscris.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTStudiesContainingOtherReferencedInstancesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h index 141f6ddd..52646b8f 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtsdcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTSeriesDescriptionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for SeriesDescriptionCodeSequence (0008,103f) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTSeriesDescriptionCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTSeriesDescriptionCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTSeriesDescriptionCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTSeriesDescriptionCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTSeriesDescriptionCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTSeriesDescriptionCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtsds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtsds.h index 7c12dc61..06db62c6 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtsds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtsds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTSetupDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtshds.h b/dcmrt/include/dcmtk/dcmrt/seq/drtshds.h index 55977152..a66db0df 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtshds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtshds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTShieldingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtsis.h b/dcmrt/include/dcmtk/dcmrt/seq/drtsis.h index 2057dfcd..967bda6e 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtsis.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtsis.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTSourceImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtsns.h b/dcmrt/include/dcmtk/dcmrt/seq/drtsns.h index 0f7c06d8..db03a312 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtsns.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtsns.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTSnoutSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h index 1d704871..6ec77c83 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtspccs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTSegmentedPropertyCategoryCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence /** Interface class for SegmentedPropertyCategoryCodeSequence (0062,0003) @@ -160,6 +161,13 @@ class DCMTK_DCMRT_EXPORT DRTSegmentedPropertyCategoryCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -167,6 +175,34 @@ class DCMTK_DCMRT_EXPORT DRTSegmentedPropertyCategoryCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + + // --- get DICOM sequence attributes --- + + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + // --- set DICOM attribute values --- /** set CodeMeaning (0008,0104) @@ -239,6 +275,13 @@ class DCMTK_DCMRT_EXPORT DRTSegmentedPropertyCategoryCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -246,6 +289,20 @@ class DCMTK_DCMRT_EXPORT DRTSegmentedPropertyCategoryCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -253,9 +310,9 @@ class DCMTK_DCMRT_EXPORT DRTSegmentedPropertyCategoryCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -271,8 +328,16 @@ class DCMTK_DCMRT_EXPORT DRTSegmentedPropertyCategoryCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h index 94774f85..075109f7 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtspcs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTScheduledProtocolCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -19,6 +19,7 @@ #include "dcmtk/ofstd/oflist.h" // for standard list class #include "dcmtk/dcmrt/drttypes.h" // module-specific helper class +#include "dcmtk/dcmrt/seq/drtecs.h" // for EquivalentCodeSequence #include "dcmtk/dcmrt/seq/drtpcxs.h" // for ProtocolContextSequence @@ -161,6 +162,13 @@ class DCMTK_DCMRT_EXPORT DRTScheduledProtocolCodeSequence */ OFCondition getContextUID(OFString &value, const signed long pos = 0) const; + /** get LongCodeValue (0008,0119) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getLongCodeValue(OFString &value, const signed long pos = 0) const; + /** get MappingResource (0008,0105) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -168,8 +176,34 @@ class DCMTK_DCMRT_EXPORT DRTScheduledProtocolCodeSequence */ OFCondition getMappingResource(OFString &value, const signed long pos = 0) const; + /** get MappingResourceUID (0008,0118) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getMappingResourceUID(OFString &value, const signed long pos = 0) const; + + /** get URNCodeValue (0008,0120) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getURNCodeValue(OFString &value, const signed long pos = 0) const; + // --- get DICOM sequence attributes --- + /** get EquivalentCodeSequence (0008,0121) + * @return reference to sequence element + */ + DRTEquivalentCodeSequence &getEquivalentCodeSequence() + { return EquivalentCodeSequence; } + + /** get EquivalentCodeSequence (0008,0121) + * @return const reference to sequence element + */ + const DRTEquivalentCodeSequence &getEquivalentCodeSequence() const + { return EquivalentCodeSequence; } + /** get ProtocolContextSequence (0040,0440) * @return reference to sequence element */ @@ -254,6 +288,13 @@ class DCMTK_DCMRT_EXPORT DRTScheduledProtocolCodeSequence */ OFCondition setContextUID(const OFString &value, const OFBool check = OFTrue); + /** set LongCodeValue (0008,0119) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UC) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLongCodeValue(const OFString &value, const OFBool check = OFTrue); + /** set MappingResource (0008,0105) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled @@ -261,6 +302,20 @@ class DCMTK_DCMRT_EXPORT DRTScheduledProtocolCodeSequence */ OFCondition setMappingResource(const OFString &value, const OFBool check = OFTrue); + /** set MappingResourceUID (0008,0118) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMappingResourceUID(const OFString &value, const OFBool check = OFTrue); + + /** set URNCodeValue (0008,0120) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setURNCodeValue(const OFString &value, const OFBool check = OFTrue); + private: /// internal flag used to mark the empty default item @@ -268,9 +323,9 @@ class DCMTK_DCMRT_EXPORT DRTScheduledProtocolCodeSequence /// CodeMeaning (0008,0104) vr=LO, vm=1, type=1 DcmLongString CodeMeaning; - /// CodeValue (0008,0100) vr=SH, vm=1, type=1 + /// CodeValue (0008,0100) vr=SH, vm=1, type=1C DcmShortString CodeValue; - /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1 + /// CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1C DcmShortString CodingSchemeDesignator; /// CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=1C DcmShortString CodingSchemeVersion; @@ -286,10 +341,18 @@ class DCMTK_DCMRT_EXPORT DRTScheduledProtocolCodeSequence DcmCodeString ContextIdentifier; /// ContextUID (0008,0117) vr=UI, vm=1, type=3 DcmUniqueIdentifier ContextUID; + /// EquivalentCodeSequence (0008,0121) vr=SQ, vm=1, type=3 + DRTEquivalentCodeSequence EquivalentCodeSequence; + /// LongCodeValue (0008,0119) vr=UC, vm=1, type=1C + DcmUnlimitedCharacters LongCodeValue; /// MappingResource (0008,0105) vr=CS, vm=1, type=1C DcmCodeString MappingResource; + /// MappingResourceUID (0008,0118) vr=UI, vm=1, type=3 + DcmUniqueIdentifier MappingResourceUID; /// ProtocolContextSequence (0040,0440) vr=SQ, vm=1, type=3 DRTProtocolContextSequence ProtocolContextSequence; + /// URNCodeValue (0008,0120) vr=UR, vm=1, type=1C + DcmUniversalResourceIdentifierOrLocator URNCodeValue; }; diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtss.h b/dcmrt/include/dcmtk/dcmrt/seq/drtss.h index af8d8242..418ba831 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtss.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtss.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTSourceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h index 3bfac5e9..5c878023 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtssrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTStructureSetROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drttms0.h b/dcmrt/include/dcmtk/dcmrt/seq/drttms0.h index 4fe21107..d226e577 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drttms0.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drttms0.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTTreatmentMachineSequenceInRTTreatmentMachineRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drttms9.h b/dcmrt/include/dcmtk/dcmrt/seq/drttms9.h index 7e38c560..f05b97a5 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drttms9.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drttms9.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTTreatmentMachineSequenceInRTBrachyApplicationSetupsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drttscds.h b/dcmrt/include/dcmtk/dcmrt/seq/drttscds.h index 1d1e5930..e0214802 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drttscds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drttscds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTTreatmentSummaryCalculatedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h b/dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h index b267b340..a76b0076 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drttsibs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTTreatmentSessionIonBeamSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h b/dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h index 9f720665..6bab8b34 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drttsmds.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTTreatmentSummaryMeasuredDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drttts.h b/dcmrt/include/dcmtk/dcmrt/seq/drttts.h index f707f6f0..c3073b3f 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drttts.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drttts.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTToleranceTableSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtvls.h b/dcmrt/include/dcmtk/dcmrt/seq/drtvls.h index a13b76df..c2374d6b 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtvls.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtvls.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTVOILUTSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtwps.h b/dcmrt/include/dcmtk/dcmrt/seq/drtwps.h index 18fbf0ae..62fcd562 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtwps.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtwps.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTWedgePositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h index dcd0cf51..e1c2a36e 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtwrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTWADORetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h new file mode 100644 index 00000000..964ba628 --- /dev/null +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtwrsrs.h @@ -0,0 +1,302 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class DRTWADORSRetrievalSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#ifndef DRTWRSRS_H +#define DRTWRSRS_H + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/ofstd/oflist.h" // for standard list class +#include "dcmtk/dcmrt/drttypes.h" // module-specific helper class + + +/** Interface class for WADORSRetrievalSequence (0040,e025) + */ +class DCMTK_DCMRT_EXPORT DRTWADORSRetrievalSequence + : protected DRTTypes +{ + + public: + + /** Item class + */ + class DCMTK_DCMRT_EXPORT Item + : protected DRTTypes + { + + public: + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultItem flag used to mark the empty default item + */ + Item(const OFBool emptyDefaultItem = OFFalse); + + /** copy constructor + * @param copy item object to be copied + */ + Item(const Item ©); + + /** destructor + */ + virtual ~Item(); + + /** assigment operator + * @param copy item object to be copied + */ + Item &operator=(const Item ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if item is empty + * @return OFTrue if item is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if item is valid, i.e.\ not the empty default item + * @return OFTrue if item is valid, OFFalse otherwise + */ + OFBool isValid() const; + + // --- input/output methods --- + + /** read elements from sequence item + * @param item reference to DICOM sequence item from which the elements should be read + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &item); + + /** write elements to sequence item + * @param item reference to DICOM sequence item to which the elements should be written + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &item); + + // --- get DICOM attribute values --- + + /** get RetrieveURL (0008,1190) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getRetrieveURL(OFString &value, const signed long pos = 0) const; + + // --- set DICOM attribute values --- + + /** set RetrieveURL (0008,1190) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (UR) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setRetrieveURL(const OFString &value, const OFBool check = OFTrue); + + private: + + /// internal flag used to mark the empty default item + /*const*/ OFBool EmptyDefaultItem; + + /// RetrieveURL (0008,1190) vr=UR, vm=1, type=1 + DcmUniversalResourceIdentifierOrLocator RetrieveURL; + + }; + + // --- constructors, destructor and operators --- + + /** (default) constructor + * @param emptyDefaultSequence internal flag used to mark the empty default sequence + */ + DRTWADORSRetrievalSequence(const OFBool emptyDefaultSequence = OFFalse); + + /** copy constructor + * @param copy sequence object to be copied + */ + DRTWADORSRetrievalSequence(const DRTWADORSRetrievalSequence ©); + + /** destructor + */ + virtual ~DRTWADORSRetrievalSequence(); + + /** assigment operator + * @param copy sequence object to be copied + */ + DRTWADORSRetrievalSequence &operator=(const DRTWADORSRetrievalSequence ©); + + // --- general methods --- + + /** clear all internal member variables + */ + void clear(); + + /** check if sequence is empty + * @return OFTrue if sequence is empty, OFFalse otherwise + */ + OFBool isEmpty(); + + /** check if sequence is valid, i.e.\ not the empty default sequence + * @return OFTrue if sequence is valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** get number of items in the sequence + * @return number of items + */ + unsigned long getNumberOfItems() const; + + /** goto first item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoFirstItem(); + + /** goto next item in the sequence + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoNextItem(); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num); + + /** get current item in the sequence + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getCurrentItem(Item *&item) const; + + /** get current item in the sequence + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getCurrentItem(); + + /** get current item in the sequence + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getCurrentItem() const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @param item reference to item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getItem(const unsigned long num, Item *&item); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &getItem(const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &getItem(const unsigned long num) const; + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return reference to specified item if successful, empty default item otherwise + */ + Item &operator[](const unsigned long num); + + /** get particular item in the sequence + * @param num number of the item to be retrieved (0..num-1) + * @return const reference to specified item if successful, empty default item otherwise + */ + const Item &operator[](const unsigned long num) const; + + /** add new item to the end of this sequence + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addItem(Item *&item); + + /** insert new item into the sequence + * @param pos position where the new item is to be inserted (0..num) + * @param item reference to new item pointer (result variable) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition insertItem(const unsigned long pos, Item *&item); + + /** remove particular item from the sequence + * @param pos position of the item to be removed (0..num-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition removeItem(const unsigned long pos); + + // --- input/output methods --- + + /** read sequence of items from dataset + * @param dataset reference to DICOM dataset from which the sequence should be read + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "1C", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + /** write sequence of items to dataset + * @param dataset reference to DICOM dataset to which the sequence should be written + * @param card cardinality (valid range for number of items) + * @param type value type (valid value: "1", "2" or something else which is not checked) + * @param moduleName optional module/sequence name to be printed (default: "RT object" if NULL) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName = NULL); + + protected: + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListIterator(Item *) &iterator); + + /** goto particular item in the sequence + * @param num number of the item to be selected (0..num-1) + * @param iterator list iterator storing the position of the item + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition gotoItem(const unsigned long num, + OFListConstIterator(Item *) &iterator) const; + + private: + + /// internal flag used to mark the empty default sequence + /*const*/ OFBool EmptyDefaultSequence; + + /// list of items in this sequence + OFList SequenceOfItems; + /// currently selected item + OFListIterator(Item *) CurrentItem; + /// empty default item + Item EmptyItem; + +}; + + +#endif diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtws.h b/dcmrt/include/dcmtk/dcmrt/seq/drtws.h index b24815ec..215e57c6 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtws.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtws.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTWedgeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -97,6 +97,20 @@ class DCMTK_DCMRT_EXPORT DRTWedgeSequence */ OFCondition getAccessoryCode(OFString &value, const signed long pos = 0) const; + /** get EffectiveWedgeAngle (300a,00de) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1), -1 for all components + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getEffectiveWedgeAngle(OFString &value, const signed long pos = 0) const; + + /** get EffectiveWedgeAngle (300a,00de) + * @param value reference to variable in which the value should be stored + * @param pos index of the value to get (0..vm-1) + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getEffectiveWedgeAngle(Float64 &value, const unsigned long pos = 0) const; + /** get SourceToWedgeTrayDistance (300a,00da) * @param value reference to variable in which the value should be stored * @param pos index of the value to get (0..vm-1), -1 for all components @@ -190,6 +204,13 @@ class DCMTK_DCMRT_EXPORT DRTWedgeSequence */ OFCondition setAccessoryCode(const OFString &value, const OFBool check = OFTrue); + /** set EffectiveWedgeAngle (300a,00de) + * @param value value to be set (single value only) or "" for no value + * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled + * @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setEffectiveWedgeAngle(const OFString &value, const OFBool check = OFTrue); + /** set SourceToWedgeTrayDistance (300a,00da) * @param value value to be set (single value only) or "" for no value * @param check check 'value' for conformance with VR (DS) and VM (1) if enabled @@ -246,6 +267,8 @@ class DCMTK_DCMRT_EXPORT DRTWedgeSequence /// AccessoryCode (300a,00f9) vr=LO, vm=1, type=3 DcmLongString AccessoryCode; + /// EffectiveWedgeAngle (300a,00de) vr=DS, vm=1, type=3 + DcmDecimalString EffectiveWedgeAngle; /// SourceToWedgeTrayDistance (300a,00da) vr=DS, vm=1, type=3 DcmDecimalString SourceToWedgeTrayDistance; /// WedgeAngle (300a,00d5) vr=IS, vm=1, type=2 diff --git a/dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h b/dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h index 5d0a40c0..162768db 100644 --- a/dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h +++ b/dcmrt/include/dcmtk/dcmrt/seq/drtxrs.h @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class DRTXDSRetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/CMakeLists.txt b/dcmrt/libsrc/CMakeLists.txt index 485be12b..c0447c38 100644 --- a/dcmrt/libsrc/CMakeLists.txt +++ b/dcmrt/libsrc/CMakeLists.txt @@ -1,4 +1,4 @@ # create library from source files -DCMTK_ADD_LIBRARY(dcmrt drtdose drtimage drtplan drtstrct drttreat drtionpl drtiontr drmdose drmimage drmplan drmstrct drttypes drtaadcs drtadcs drtads drtafs drtags drtajcs drtarics drtas1 drtas5 drtas6 drtas7 drtass drtbads drtbas drtbcps drtbl2 drtbl5 drtbldls drtbldps drtblds1 drtblds5 drtblds6 drtbldts drtbrcss drtbrdrs drtbrs drtbs drtbvcps drtcbars drtccs drtcctus drtcdrs drtces drtchs drtcims drtcis drtcncs drtcos drtcpas drtcps drtcsas drtcs drtcshs drtcsis drtcss drtdcs drtdimcs drtdimrs drtdirs drtdrs drtds drtdspcs drtdss drtdvhs drtdvrrs drteas drtes drtfds drtfes drtfgs drtfgss drtfms drtfsss drtgas drthsdrs drtiais drtians drtiblds drtibls drtibs drticpds drticps drtics drtiis drtipiqs drtircs drtiseis drtitts drtiwps drtiws drtlsds6 drtlsds7 drtlsds drtmacds drtmas drtmdrs drtmls drtmps drtmss drtmucs drtoas drtois drtopis drtos drtpbcs drtpcs drtpcxs drtpfms drtpics drtporcs drtporis drtppcs drtprsis drtpscs drtpsics drtpss drtpsss drtpvis drtras drtrbas2 drtrbas8 drtrbls drtrbos1 drtrbos6 drtrbos7 drtrbs2 drtrbs4 drtrbs8 drtrcdrs drtrcos drtrcps drtrcs drtrdros drtrdrs1 drtrdrs6 drtrdrs8 drtrds drtrecs drtrfgs drtrfors drtrics drtrims drtris drtrlsds drtrmdrs drtrms drtrmss6 drtrmss7 drtrpcs drtrpis drtrppcs drtrpphs drtrpps drtrppss drtrps drtrris1 drtrris6 drtrris9 drtrrms drtrros drtrrpcs drtrrros drtrrs drtrrshs drtrrtps3 drtrrtps4 drtrrtps5 drtrrtps drtrscs drtrsers drtrses drtrshs6 drtrshs7 drtrshs drtrsis drtrsns drtrsos drtrsrs drtrss drtrsss drtrsts drtrtrs2 drtrtrs4 drtrvis drtrws drtrwvms drtscris drtsdcs drtsds drtshds drtsis drtsns drtspccs drtspcs drtss drtssrs drttms0 drttms9 drttscds drttsibs drttsmds drttts drtvls drtwps drtwrs drtws drtxrs) +DCMTK_ADD_LIBRARY(dcmrt drtdose drtimage drtplan drtstrct drttreat drtionpl drtiontr drmdose drmimage drmplan drmstrct drttypes drtaadcs drtadcs drtads drtafs drtags drtajcs drtarics drtas1 drtas5 drtas6 drtas7 drtass drtbads drtbas drtbcps drtbl2 drtbl5 drtbldls drtbldps drtblds1 drtblds5 drtblds6 drtbldts drtbrcss drtbrdrs drtbrs drtbs drtbss drtbvcps drtcbars drtccs drtcctus drtcdrs drtces drtchs drtcims drtcis drtcncs drtcos drtcpas drtcpis drtcps drtcsas drtcs drtcshs drtcsis drtcss drtdcs drtdias drtdimcs drtdimrs drtdirs drtdrs drtds drtdspcs drtdss drtdvhs drtdvrrs drteas drtecs drtes drtfds drtfes drtfgs drtfgss drtfms drtfsss drtgas drthsdrs drtiais drtians drtiblds drtibls drtibs drticpds drticps drtics drtiis drtipiqs drtircs drtiseis drtitts drtiwps drtiws drtlsds6 drtlsds7 drtlsds drtmacds drtmas drtmdrs drtmls drtmps drtmss drtmucs drtoas drtois drtopis drtos drtpbcs drtpcs drtpcxs drtpdecs drtpfms drtpics drtporcs drtporis drtppcs drtprsis drtpscs drtpsics drtpss drtpsss drtpvis drtqds drtras drtrbas2 drtrbas8 drtrbls drtrbos1 drtrbos6 drtrbos7 drtrbs2 drtrbs4 drtrbs8 drtrcdrs drtrcos drtrcps drtrcs drtrdros drtrdrs1 drtrdrs6 drtrdrs8 drtrds drtrecs drtrfgs drtrfors drtrics drtrims drtris drtrlsds drtrmdrs drtrms drtrmss6 drtrmss7 drtrpcs drtrpis drtrppcs drtrpphs drtrpps drtrppss drtrps drtrris1 drtrris6 drtrris9 drtrrms drtrros drtrrpcs drtrrros drtrrs drtrrshs drtrrtps3 drtrrtps4 drtrrtps5 drtrrtps drtrscs drtrsers drtrses drtrshs6 drtrshs7 drtrshs drtrsis drtrsns drtrsos drtrsrs drtrss drtrsss drtrsts drtrtrs2 drtrtrs4 drtrvis drtwrsrs drtrws drtrwvms drtscris drtsdcs drtsds drtshds drtsis drtsns drtspccs drtspcs drtss drtssrs drttms0 drttms9 drttscds drttsibs drttsmds drttts drtvls drtwps drtwrs drtws drtxrs) DCMTK_TARGET_LINK_MODULES(dcmrt ofstd oflog dcmdata dcmimgle) diff --git a/dcmrt/libsrc/Makefile.dep b/dcmrt/libsrc/Makefile.dep index ff002a86..e85cb721 100644 --- a/dcmrt/libsrc/Makefile.dep +++ b/dcmrt/libsrc/Makefile.dep @@ -39,6 +39,8 @@ drmdose.o: drmdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -109,13 +111,16 @@ drmdose.o: drmdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdvhs.h \ @@ -145,11 +150,14 @@ drmdose.o: drmdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpsss.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \ ../include/dcmtk/dcmrt/seq/drtcis.h \ ../include/dcmtk/dcmrt/seq/drtrdros.h \ ../include/dcmtk/dcmrt/seq/drtrwvms.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrfors.h \ ../include/dcmtk/dcmrt/seq/drtrsts.h \ @@ -157,8 +165,10 @@ drmdose.o: drmdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps.h \ ../include/dcmtk/dcmrt/seq/drtrfgs.h \ @@ -219,6 +229,8 @@ drmimage.o: drmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -289,15 +301,18 @@ drmimage.o: drmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h \ ../include/dcmtk/dcmrt/seq/drtcbars.h \ ../include/dcmtk/dcmrt/seq/drtads.h ../include/dcmtk/dcmrt/seq/drtbas.h \ ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -332,14 +347,18 @@ drmimage.o: drmimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrwvms.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps5.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ @@ -410,6 +429,8 @@ drmplan.o: drmplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -480,10 +501,11 @@ drmplan.o: drmplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtass.h \ - ../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \ - ../include/dcmtk/dcmrt/seq/drtbcps.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtass.h ../include/dcmtk/dcmrt/seq/drtbads.h \ + ../include/dcmtk/dcmrt/seq/drtchs.h ../include/dcmtk/dcmrt/seq/drtbcps.h \ ../include/dcmtk/dcmrt/seq/drtbrdrs.h \ ../include/dcmtk/dcmrt/seq/drtcshs.h \ ../include/dcmtk/dcmrt/seq/drtrris9.h ../include/dcmtk/dcmrt/seq/drtbs.h \ @@ -502,8 +524,9 @@ drmplan.o: drmplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -537,12 +560,15 @@ drmplan.o: drmplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps3.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ @@ -599,6 +625,8 @@ drmstrct.o: drmstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -669,13 +697,16 @@ drmstrct.o: drmstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -702,7 +733,9 @@ drmstrct.o: drmstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpsss.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \ ../include/dcmtk/dcmrt/seq/drtcis.h ../include/dcmtk/dcmrt/seq/drtrros.h \ ../include/dcmtk/dcmrt/seq/drtarics.h \ @@ -717,8 +750,10 @@ drmstrct.o: drmstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrses.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ ../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrss.h \ @@ -771,6 +806,8 @@ drtaadcs.o: drtaadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -841,7 +878,9 @@ drtaadcs.o: drtaadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtadcs.o: drtadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtadcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -883,6 +922,8 @@ drtadcs.o: drtadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -953,7 +994,9 @@ drtadcs.o: drtadcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtads.o: drtads.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtads.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -995,6 +1038,8 @@ drtads.o: drtads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1065,7 +1110,9 @@ drtads.o: drtads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtafs.o: drtafs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtafs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -1107,6 +1154,8 @@ drtafs.o: drtafs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1177,6 +1226,7 @@ drtafs.o: drtafs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtags.o: drtags.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtags.h \ @@ -1219,6 +1269,8 @@ drtags.o: drtags.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1289,6 +1341,7 @@ drtags.o: drtags.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtajcs.o: drtajcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtajcs.h \ @@ -1331,6 +1384,8 @@ drtajcs.o: drtajcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1401,7 +1456,9 @@ drtajcs.o: drtajcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtarics.o: drtarics.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtarics.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -1443,6 +1500,8 @@ drtarics.o: drtarics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1513,7 +1572,9 @@ drtarics.o: drtarics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h drtas1.o: drtas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtas1.h \ @@ -1556,6 +1617,8 @@ drtas1.o: drtas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1626,6 +1689,7 @@ drtas1.o: drtas1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtags.h drtas5.o: drtas5.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1669,6 +1733,8 @@ drtas5.o: drtas5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1739,6 +1805,7 @@ drtas5.o: drtas5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtags.h drtas6.o: drtas6.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1782,6 +1849,8 @@ drtas6.o: drtas6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1852,6 +1921,7 @@ drtas6.o: drtas6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtas7.o: drtas7.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtas7.h \ @@ -1894,6 +1964,8 @@ drtas7.o: drtas7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -1964,6 +2036,7 @@ drtas7.o: drtas7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtass.o: drtass.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtass.h \ @@ -2006,6 +2079,8 @@ drtass.o: drtass.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2076,6 +2151,7 @@ drtass.o: drtass.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \ ../include/dcmtk/dcmrt/seq/drtbcps.h \ @@ -2123,6 +2199,8 @@ drtbads.o: drtbads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2193,6 +2271,7 @@ drtbads.o: drtbads.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtbas.o: drtbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbas.h \ @@ -2235,6 +2314,8 @@ drtbas.o: drtbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2305,7 +2386,9 @@ drtbas.o: drtbas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtbcps.o: drtbcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbcps.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -2347,6 +2430,8 @@ drtbcps.o: drtbcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2417,6 +2502,7 @@ drtbcps.o: drtbcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbrdrs.h drtbl2.o: drtbl2.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2460,6 +2546,8 @@ drtbl2.o: drtbl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2530,6 +2618,7 @@ drtbl2.o: drtbl2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtbl5.o: drtbl5.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbl5.h \ @@ -2572,6 +2661,8 @@ drtbl5.o: drtbl5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2642,6 +2733,7 @@ drtbl5.o: drtbl5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtbldls.o: drtbldls.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbldls.h \ @@ -2684,6 +2776,8 @@ drtbldls.o: drtbldls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2754,6 +2848,7 @@ drtbldls.o: drtbldls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtbldps.o: drtbldps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbldps.h \ @@ -2796,6 +2891,8 @@ drtbldps.o: drtbldps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2866,6 +2963,7 @@ drtbldps.o: drtbldps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtblds1.o: drtblds1.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtblds1.h \ @@ -2908,6 +3006,8 @@ drtblds1.o: drtblds1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -2978,6 +3078,7 @@ drtblds1.o: drtblds1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtblds5.o: drtblds5.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtblds5.h \ @@ -3020,6 +3121,8 @@ drtblds5.o: drtblds5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3090,6 +3193,7 @@ drtblds5.o: drtblds5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtblds6.o: drtblds6.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtblds6.h \ @@ -3132,6 +3236,8 @@ drtblds6.o: drtblds6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3202,6 +3308,7 @@ drtblds6.o: drtblds6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtbldts.o: drtbldts.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbldts.h \ @@ -3244,6 +3351,8 @@ drtbldts.o: drtbldts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3314,6 +3423,7 @@ drtbldts.o: drtbldts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtbrcss.o: drtbrcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ @@ -3356,6 +3466,8 @@ drtbrcss.o: drtbrcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3426,7 +3538,9 @@ drtbrcss.o: drtbrcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtbrdrs.o: drtbrdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbrdrs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -3468,6 +3582,8 @@ drtbrdrs.o: drtbrdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3538,6 +3654,7 @@ drtbrdrs.o: drtbrdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtbrs.o: drtbrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbrs.h \ @@ -3580,6 +3697,8 @@ drtbrs.o: drtbrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3650,8 +3769,10 @@ drtbrs.o: drtbrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtbrcss.h + ../include/dcmtk/dcmrt/seq/drtbrcss.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtbs.o: drtbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -3693,6 +3814,8 @@ drtbs.o: drtbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3763,6 +3886,7 @@ drtbs.o: drtbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtas1.h ../include/dcmtk/dcmrt/seq/drtags.h \ ../include/dcmtk/dcmrt/seq/drtblds1.h \ @@ -3775,8 +3899,8 @@ drtbs.o: drtbs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtpfms.h \ ../include/dcmtk/dcmrt/seq/drtrbos1.h \ ../include/dcmtk/dcmrt/seq/drtrris1.h ../include/dcmtk/dcmrt/seq/drtws.h -drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtbvcps.h \ +drtbss.o: drtbss.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtbss.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -3816,6 +3940,8 @@ drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3886,9 +4012,10 @@ drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcbars.h \ +drtbvcps.o: drtbvcps.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtbvcps.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -3928,6 +4055,8 @@ drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -3998,10 +4127,10 @@ drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtads.h -drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtccs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h +drtcbars.o: drtcbars.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcbars.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4041,6 +4170,8 @@ drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4111,9 +4242,11 @@ drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcctus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtads.h ../include/dcmtk/dcmrt/seq/drtecs.h +drtccs.o: drtccs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtccs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4153,6 +4286,8 @@ drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4223,9 +4358,11 @@ drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcdrs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtcctus.o: drtcctus.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcctus.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4265,6 +4402,8 @@ drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4335,9 +4474,10 @@ drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtces.h \ +drtcdrs.o: drtcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcdrs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4377,6 +4517,8 @@ drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4447,12 +4589,10 @@ drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtois.h ../include/dcmtk/dcmrt/seq/drtics.h \ - ../include/dcmtk/dcmrt/seq/drtpics.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h -drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtchs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h +drtces.o: drtces.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtces.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4492,6 +4632,8 @@ drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4562,12 +4704,13 @@ drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtbcps.h \ - ../include/dcmtk/dcmrt/seq/drtbrdrs.h \ - ../include/dcmtk/dcmrt/seq/drtcshs.h -drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcims.h \ + ../include/dcmtk/dcmrt/seq/drtois.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtporcs.h +drtchs.o: drtchs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtchs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4607,6 +4750,8 @@ drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4677,12 +4822,13 @@ drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \ - ../include/dcmtk/dcmrt/seq/drtmucs.h \ - ../include/dcmtk/dcmrt/seq/drtrsos.h -drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcis.h \ + ../include/dcmtk/dcmrt/seq/drtbcps.h \ + ../include/dcmtk/dcmrt/seq/drtbrdrs.h \ + ../include/dcmtk/dcmrt/seq/drtcshs.h +drtcims.o: drtcims.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcims.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4722,6 +4868,8 @@ drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4792,9 +4940,14 @@ drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ ../include/dcmtk/dcmrt/seq/drtcncs.h \ + ../include/dcmtk/dcmrt/seq/drtmucs.h \ + ../include/dcmtk/dcmrt/seq/drtrsos.h +drtcis.o: drtcis.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4834,6 +4987,8 @@ drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -4904,9 +5059,10 @@ drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcos.h \ +drtcncs.o: drtcncs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcncs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -4946,6 +5102,8 @@ drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5016,9 +5174,11 @@ drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcpas.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtcos.o: drtcos.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcos.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5058,6 +5218,8 @@ drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5128,9 +5290,10 @@ drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcps.h \ +drtcpas.o: drtcpas.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcpas.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5170,6 +5333,8 @@ drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5240,12 +5405,10 @@ drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtbldps.h \ - ../include/dcmtk/dcmrt/seq/drtrdrs1.h \ - ../include/dcmtk/dcmrt/seq/drtrds.h ../include/dcmtk/dcmrt/seq/drtwps.h -drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h +drtcpis.o: drtcpis.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5285,6 +5448,8 @@ drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5355,10 +5520,12 @@ drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtcis.h -drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcsas.h \ + ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h +drtcps.o: drtcps.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcps.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5398,6 +5565,8 @@ drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5468,9 +5637,13 @@ drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcshs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtbldps.h \ + ../include/dcmtk/dcmrt/seq/drtrdrs1.h \ + ../include/dcmtk/dcmrt/seq/drtrds.h ../include/dcmtk/dcmrt/seq/drtwps.h +drtcs.o: drtcs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5510,6 +5683,8 @@ drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5580,9 +5755,11 @@ drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcsis.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtcis.h +drtcsas.o: drtcsas.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5622,6 +5799,8 @@ drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5692,9 +5871,10 @@ drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtcss.h \ +drtcshs.o: drtcshs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcshs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5734,6 +5914,8 @@ drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5804,9 +5986,10 @@ drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtdcs.h \ +drtcsis.o: drtcsis.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5846,6 +6029,8 @@ drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -5916,9 +6101,10 @@ drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtdimcs.h \ +drtcss.o: drtcss.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtcss.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -5958,6 +6144,8 @@ drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6028,9 +6216,11 @@ drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtdimrs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtdcs.o: drtdcs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtdcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -6070,6 +6260,8 @@ drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6140,9 +6332,11 @@ drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtdias.o: drtdias.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -6182,6 +6376,8 @@ drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6252,15 +6448,18 @@ drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \ +drtdimcs.o: drtdimcs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtdimcs.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ @@ -6287,12 +6486,13 @@ drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6363,76 +6563,11 @@ drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ - ../include/dcmtk/dcmrt/seq/drtbrcss.h \ - ../include/dcmtk/dcmrt/seq/drtcsis.h \ - ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h \ - ../include/dcmtk/dcmrt/seq/drtcsas.h \ - ../include/dcmtk/dcmrt/seq/drtdvhs.h \ - ../include/dcmtk/dcmrt/seq/drtdvrrs.h \ - ../include/dcmtk/dcmrt/seq/drtdimcs.h \ - ../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \ - ../include/dcmtk/dcmrt/seq/drtdspcs.h \ - ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \ - ../include/dcmtk/dcmrt/seq/drthsdrs.h \ - ../include/dcmtk/dcmrt/seq/drtiis.h ../include/dcmtk/dcmrt/seq/drtians.h \ - ../include/dcmtk/dcmrt/seq/drtiais.h \ - ../include/dcmtk/dcmrt/seq/drtipiqs.h \ - ../include/dcmtk/dcmrt/seq/drtaadcs.h \ - ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \ - ../include/dcmtk/dcmrt/seq/drtiseis.h \ - ../include/dcmtk/dcmrt/seq/drtmps.h ../include/dcmtk/dcmrt/seq/drtmls.h \ - ../include/dcmtk/dcmrt/seq/drtoas.h ../include/dcmtk/dcmrt/seq/drtmas.h \ - ../include/dcmtk/dcmrt/seq/drtopis.h \ - ../include/dcmtk/dcmrt/seq/drtpbcs.h \ - ../include/dcmtk/dcmrt/seq/drtpsics.h \ - ../include/dcmtk/dcmrt/seq/drtpscs.h \ - ../include/dcmtk/dcmrt/seq/drtppcs.h \ - ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \ - ../include/dcmtk/dcmrt/seq/drtcncs.h \ - ../include/dcmtk/dcmrt/seq/drtcims.h \ - ../include/dcmtk/dcmrt/seq/drtmucs.h \ - ../include/dcmtk/dcmrt/seq/drtrsos.h \ - ../include/dcmtk/dcmrt/seq/drtporis.h \ - ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ - ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \ - ../include/dcmtk/dcmrt/seq/drtcis.h \ - ../include/dcmtk/dcmrt/seq/drtrdros.h \ - ../include/dcmtk/dcmrt/seq/drtrwvms.h \ - ../include/dcmtk/dcmrt/seq/drtrppcs.h \ - ../include/dcmtk/dcmrt/seq/drtrfors.h \ - ../include/dcmtk/dcmrt/seq/drtrsts.h \ - ../include/dcmtk/dcmrt/seq/drtrses.h \ - ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \ - ../include/dcmtk/dcmrt/seq/drtrpphs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtdimrs.o: drtdimrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ - ../include/dcmtk/dcmrt/seq/drtrppss.h \ - ../include/dcmtk/dcmrt/seq/drtrrtps.h \ - ../include/dcmtk/dcmrt/seq/drtrfgs.h \ - ../include/dcmtk/dcmrt/seq/drtrbs2.h \ - ../include/dcmtk/dcmrt/seq/drtrcps.h \ - ../include/dcmtk/dcmrt/seq/drtrbas2.h \ - ../include/dcmtk/dcmrt/seq/drtrsers.h \ - ../include/dcmtk/dcmrt/seq/drtrsrs.h \ - ../include/dcmtk/dcmrt/seq/drtrsss.h ../include/dcmtk/dcmrt/seq/drtrss.h \ - ../include/dcmtk/dcmrt/seq/drtrtrs2.h \ - ../include/dcmtk/dcmrt/seq/drtrpis.h ../include/dcmtk/dcmrt/seq/drtras.h \ - ../include/dcmtk/dcmrt/seq/drtrrpcs.h \ - ../include/dcmtk/dcmrt/seq/drtrpcs.h \ - ../include/dcmtk/dcmrt/seq/drtspcs.h \ - ../include/dcmtk/dcmrt/seq/drtrscs.h \ - ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtsis.h \ - ../include/dcmtk/dcmrt/seq/drtssrs.h \ - ../include/dcmtk/dcmrt/seq/drtscris.h -drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtdrs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -6472,6 +6607,8 @@ drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6542,9 +6679,10 @@ drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtds.h \ +drtdirs.o: drtdirs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -6584,6 +6722,8 @@ drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6654,17 +6794,16 @@ drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtdspcs.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ +drtdose.o: drtdose.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/drtdose.h ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ @@ -6691,11 +6830,14 @@ drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6766,16 +6908,438 @@ drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtdss.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtbrcss.h \ + ../include/dcmtk/dcmrt/seq/drtcsis.h \ + ../include/dcmtk/dcmrt/seq/drtcctus.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ + ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../include/dcmtk/dcmrt/seq/drtcsas.h \ + ../include/dcmtk/dcmrt/seq/drtdvhs.h \ + ../include/dcmtk/dcmrt/seq/drtdvrrs.h \ + ../include/dcmtk/dcmrt/seq/drtdimcs.h \ + ../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtdss.h \ + ../include/dcmtk/dcmrt/seq/drtdspcs.h \ + ../include/dcmtk/dcmrt/seq/drteas.h ../include/dcmtk/dcmrt/seq/drtfes.h \ + ../include/dcmtk/dcmrt/seq/drthsdrs.h \ + ../include/dcmtk/dcmrt/seq/drtiis.h ../include/dcmtk/dcmrt/seq/drtians.h \ + ../include/dcmtk/dcmrt/seq/drtiais.h \ + ../include/dcmtk/dcmrt/seq/drtipiqs.h \ + ../include/dcmtk/dcmrt/seq/drtaadcs.h \ + ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h \ + ../include/dcmtk/dcmrt/seq/drtiseis.h \ + ../include/dcmtk/dcmrt/seq/drtmps.h ../include/dcmtk/dcmrt/seq/drtmls.h \ + ../include/dcmtk/dcmrt/seq/drtoas.h ../include/dcmtk/dcmrt/seq/drtmas.h \ + ../include/dcmtk/dcmrt/seq/drtopis.h \ + ../include/dcmtk/dcmrt/seq/drtpbcs.h \ + ../include/dcmtk/dcmrt/seq/drtpsics.h \ + ../include/dcmtk/dcmrt/seq/drtpscs.h \ + ../include/dcmtk/dcmrt/seq/drtppcs.h \ + ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \ + ../include/dcmtk/dcmrt/seq/drtcncs.h \ + ../include/dcmtk/dcmrt/seq/drtcims.h \ + ../include/dcmtk/dcmrt/seq/drtmucs.h \ + ../include/dcmtk/dcmrt/seq/drtrsos.h \ + ../include/dcmtk/dcmrt/seq/drtporis.h \ + ../include/dcmtk/dcmrt/seq/drtprsis.h \ + ../include/dcmtk/dcmrt/seq/drtpsss.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \ + ../include/dcmtk/dcmrt/seq/drtcis.h \ + ../include/dcmtk/dcmrt/seq/drtrdros.h \ + ../include/dcmtk/dcmrt/seq/drtrwvms.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h \ + ../include/dcmtk/dcmrt/seq/drtrppcs.h \ + ../include/dcmtk/dcmrt/seq/drtrfors.h \ + ../include/dcmtk/dcmrt/seq/drtrsts.h \ + ../include/dcmtk/dcmrt/seq/drtrses.h \ + ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \ + ../include/dcmtk/dcmrt/seq/drtrpphs.h \ + ../include/dcmtk/dcmrt/seq/drtdimrs.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtrppss.h \ + ../include/dcmtk/dcmrt/seq/drtrrtps.h \ + ../include/dcmtk/dcmrt/seq/drtrfgs.h \ + ../include/dcmtk/dcmrt/seq/drtrbs2.h \ + ../include/dcmtk/dcmrt/seq/drtrcps.h \ + ../include/dcmtk/dcmrt/seq/drtrbas2.h \ + ../include/dcmtk/dcmrt/seq/drtrsers.h \ + ../include/dcmtk/dcmrt/seq/drtrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtrsss.h ../include/dcmtk/dcmrt/seq/drtrss.h \ + ../include/dcmtk/dcmrt/seq/drtrtrs2.h \ + ../include/dcmtk/dcmrt/seq/drtrpis.h ../include/dcmtk/dcmrt/seq/drtras.h \ + ../include/dcmtk/dcmrt/seq/drtrrpcs.h \ + ../include/dcmtk/dcmrt/seq/drtrpcs.h \ + ../include/dcmtk/dcmrt/seq/drtspcs.h \ + ../include/dcmtk/dcmrt/seq/drtrscs.h \ + ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtsis.h \ + ../include/dcmtk/dcmrt/seq/drtssrs.h \ + ../include/dcmtk/dcmrt/seq/drtscris.h +drtdrs.o: drtdrs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtdrs.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h +drtds.o: drtds.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtds.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtdspcs.o: drtdspcs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtdspcs.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtdss.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ ../../ofstd/include/dcmtk/ofstd/ofstring.h \ @@ -6808,6 +7372,8 @@ drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6878,8 +7444,10 @@ drtdss.o: drtdss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtdspcs.h + ../include/dcmtk/dcmrt/seq/drtdspcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtdvhs.o: drtdvhs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtdvhs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -6921,6 +7489,8 @@ drtdvhs.o: drtdvhs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -6991,6 +7561,7 @@ drtdvhs.o: drtdvhs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtdvrrs.h drtdvrrs.o: drtdvrrs.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -7034,6 +7605,8 @@ drtdvrrs.o: drtdvrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7104,6 +7677,7 @@ drtdvrrs.o: drtdvrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drteas.o: drteas.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drteas.h \ @@ -7146,6 +7720,123 @@ drteas.o: drteas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h +drtecs.o: drtecs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7216,6 +7907,7 @@ drteas.o: drteas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtes.o: drtes.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtes.h \ @@ -7258,6 +7950,8 @@ drtes.o: drtes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7328,6 +8022,7 @@ drtes.o: drtes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtas5.h ../include/dcmtk/dcmrt/seq/drtags.h \ ../include/dcmtk/dcmrt/seq/drtblds5.h \ @@ -7374,6 +8069,8 @@ drtfds.o: drtfds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7444,6 +8141,7 @@ drtfds.o: drtfds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtfes.o: drtfes.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtfes.h \ @@ -7486,6 +8184,8 @@ drtfes.o: drtfes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7556,6 +8256,7 @@ drtfes.o: drtfes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtfgs.o: drtfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtfgs.h \ @@ -7598,6 +8299,8 @@ drtfgs.o: drtfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7668,6 +8371,7 @@ drtfgs.o: drtfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrbs8.h \ ../include/dcmtk/dcmrt/seq/drtbvcps.h \ @@ -7715,6 +8419,8 @@ drtfgss.o: drtfgss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7785,6 +8491,7 @@ drtfgss.o: drtfgss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtfsss.h drtfms.o: drtfms.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -7828,6 +8535,8 @@ drtfms.o: drtfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -7898,6 +8607,7 @@ drtfms.o: drtfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtfsss.o: drtfsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtfsss.h \ @@ -7940,6 +8650,8 @@ drtfsss.o: drtfsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8010,6 +8722,7 @@ drtfsss.o: drtfsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtgas.o: drtgas.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtgas.h \ @@ -8052,6 +8765,8 @@ drtgas.o: drtgas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8122,6 +8837,7 @@ drtgas.o: drtgas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drthsdrs.h \ @@ -8164,6 +8880,8 @@ drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8234,6 +8952,7 @@ drthsdrs.o: drthsdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtiais.h \ @@ -8276,6 +8995,8 @@ drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8346,6 +9067,7 @@ drtiais.o: drtiais.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtians.h \ @@ -8388,6 +9110,8 @@ drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8458,6 +9182,7 @@ drtians.o: drtians.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtiblds.h \ @@ -8500,6 +9225,8 @@ drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8570,6 +9297,7 @@ drtiblds.o: drtiblds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtibls.o: drtibls.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtibls.h \ @@ -8612,6 +9340,8 @@ drtibls.o: drtibls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8682,7 +9412,9 @@ drtibls.o: drtibls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtbss.h drtibs.o: drtibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtibs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -8724,6 +9456,8 @@ drtibs.o: drtibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8794,10 +9528,11 @@ drtibs.o: drtibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtas6.h ../include/dcmtk/dcmrt/seq/drtgas.h \ ../include/dcmtk/dcmrt/seq/drtiblds.h \ - ../include/dcmtk/dcmrt/seq/drtibls.h \ + ../include/dcmtk/dcmrt/seq/drtibls.h ../include/dcmtk/dcmrt/seq/drtbss.h \ ../include/dcmtk/dcmrt/seq/drticps.h \ ../include/dcmtk/dcmrt/seq/drtbldps.h \ ../include/dcmtk/dcmrt/seq/drtiwps.h \ @@ -8853,6 +9588,8 @@ drticpds.o: drticpds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -8923,6 +9660,7 @@ drticpds.o: drticpds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbldps.h \ ../include/dcmtk/dcmrt/seq/drtcpas.h \ @@ -8971,6 +9709,8 @@ drticps.o: drticps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -9041,6 +9781,7 @@ drticps.o: drticps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbldps.h \ ../include/dcmtk/dcmrt/seq/drtiwps.h \ @@ -9089,6 +9830,8 @@ drtics.o: drtics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -9159,7 +9902,9 @@ drtics.o: drtics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtiis.o: drtiis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtiis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -9201,6 +9946,8 @@ drtiis.o: drtiis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -9271,6 +10018,7 @@ drtiis.o: drtiis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtimage.o: drtimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/drtimage.h ../include/dcmtk/dcmrt/drttypes.h \ @@ -9312,6 +10060,8 @@ drtimage.o: drtimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -9382,15 +10132,18 @@ drtimage.o: drtimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h \ ../include/dcmtk/dcmrt/seq/drtcbars.h \ ../include/dcmtk/dcmrt/seq/drtads.h ../include/dcmtk/dcmrt/seq/drtbas.h \ ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -9425,14 +10178,18 @@ drtimage.o: drtimage.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrwvms.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps5.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ @@ -9485,6 +10242,8 @@ drtionpl.o: drtionpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -9555,13 +10314,16 @@ drtionpl.o: drtionpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -9577,7 +10339,7 @@ drtionpl.o: drtionpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtibs.h ../include/dcmtk/dcmrt/seq/drtas6.h \ ../include/dcmtk/dcmrt/seq/drtgas.h \ ../include/dcmtk/dcmrt/seq/drtiblds.h \ - ../include/dcmtk/dcmrt/seq/drtibls.h \ + ../include/dcmtk/dcmrt/seq/drtibls.h ../include/dcmtk/dcmrt/seq/drtbss.h \ ../include/dcmtk/dcmrt/seq/drticps.h \ ../include/dcmtk/dcmrt/seq/drtbldps.h \ ../include/dcmtk/dcmrt/seq/drtiwps.h \ @@ -9614,12 +10376,15 @@ drtionpl.o: drtionpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps3.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ @@ -9672,6 +10437,8 @@ drtiontr.o: drtiontr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -9742,14 +10509,17 @@ drtiontr.o: drtiontr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcdrs.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -9781,12 +10551,15 @@ drtiontr.o: drtiontr.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps4.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ @@ -9864,6 +10637,8 @@ drtipiqs.o: drtipiqs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -9934,9 +10709,11 @@ drtipiqs.o: drtipiqs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtaadcs.h \ - ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h + ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtafs.h \ + ../include/dcmtk/dcmrt/seq/drtajcs.h drtircs.o: drtircs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtircs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -9978,6 +10755,8 @@ drtircs.o: drtircs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10048,6 +10827,7 @@ drtircs.o: drtircs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtiseis.o: drtiseis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtiseis.h \ @@ -10090,6 +10870,8 @@ drtiseis.o: drtiseis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10160,6 +10942,7 @@ drtiseis.o: drtiseis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtitts.o: drtitts.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtitts.h \ @@ -10202,6 +10985,8 @@ drtitts.o: drtitts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10272,6 +11057,7 @@ drtitts.o: drtitts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbldts.h drtiwps.o: drtiwps.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -10315,6 +11101,8 @@ drtiwps.o: drtiwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10385,6 +11173,7 @@ drtiwps.o: drtiwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtiws.o: drtiws.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtiws.h \ @@ -10427,6 +11216,8 @@ drtiws.o: drtiws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10497,6 +11288,7 @@ drtiws.o: drtiws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtlsds.o: drtlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtlsds.h \ @@ -10539,6 +11331,8 @@ drtlsds.o: drtlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10609,6 +11403,7 @@ drtlsds.o: drtlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtlsds6.o: drtlsds6.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtlsds6.h \ @@ -10651,6 +11446,8 @@ drtlsds6.o: drtlsds6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10721,6 +11518,7 @@ drtlsds6.o: drtlsds6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtlsds7.o: drtlsds7.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtlsds7.h \ @@ -10763,6 +11561,8 @@ drtlsds7.o: drtlsds7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10833,6 +11633,7 @@ drtlsds7.o: drtlsds7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtmacds.o: drtmacds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmacds.h \ @@ -10875,6 +11676,8 @@ drtmacds.o: drtmacds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -10945,8 +11748,9 @@ drtmacds.o: drtmacds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtcss.h + ../include/dcmtk/dcmrt/seq/drtcss.h ../include/dcmtk/dcmrt/seq/drtecs.h drtmas.o: drtmas.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmas.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -10988,6 +11792,8 @@ drtmas.o: drtmas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11058,6 +11864,7 @@ drtmas.o: drtmas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtmdrs.o: drtmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmdrs.h \ @@ -11100,6 +11907,8 @@ drtmdrs.o: drtmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11170,6 +11979,7 @@ drtmdrs.o: drtmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtmls.o: drtmls.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmls.h \ @@ -11212,6 +12022,8 @@ drtmls.o: drtmls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11282,6 +12094,7 @@ drtmls.o: drtmls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtmps.o: drtmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmps.h \ @@ -11324,6 +12137,8 @@ drtmps.o: drtmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11394,6 +12209,7 @@ drtmps.o: drtmps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtmss.o: drtmss.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmss.h \ @@ -11436,6 +12252,8 @@ drtmss.o: drtmss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11506,6 +12324,7 @@ drtmss.o: drtmss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtmucs.o: drtmucs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmucs.h \ @@ -11548,6 +12367,8 @@ drtmucs.o: drtmucs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11618,7 +12439,9 @@ drtmucs.o: drtmucs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtoas.o: drtoas.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtoas.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -11660,6 +12483,8 @@ drtoas.o: drtoas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11730,6 +12555,7 @@ drtoas.o: drtoas.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtmas.h drtois.o: drtois.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -11773,6 +12599,8 @@ drtois.o: drtois.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11843,8 +12671,10 @@ drtois.o: drtois.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h + ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h drtopis.o: drtopis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtopis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -11886,6 +12716,8 @@ drtopis.o: drtopis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -11956,10 +12788,12 @@ drtopis.o: drtopis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtipiqs.h \ ../include/dcmtk/dcmrt/seq/drtaadcs.h \ - ../include/dcmtk/dcmrt/seq/drtafs.h ../include/dcmtk/dcmrt/seq/drtajcs.h + ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtafs.h \ + ../include/dcmtk/dcmrt/seq/drtajcs.h drtos.o: drtos.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtos.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -12001,6 +12835,8 @@ drtos.o: drtos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12071,6 +12907,7 @@ drtos.o: drtos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtpbcs.o: drtpbcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtpbcs.h \ @@ -12113,6 +12950,8 @@ drtpbcs.o: drtpbcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12183,7 +13022,9 @@ drtpbcs.o: drtpbcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtpcs.o: drtpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -12225,6 +13066,8 @@ drtpcs.o: drtpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12295,7 +13138,9 @@ drtpcs.o: drtpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtpcxs.o: drtpcxs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtpcxs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -12337,6 +13182,8 @@ drtpcxs.o: drtpcxs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12407,11 +13254,129 @@ drtpcxs.o: drtpcxs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \ + ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtcncs.h \ ../include/dcmtk/dcmrt/seq/drtcims.h \ ../include/dcmtk/dcmrt/seq/drtmucs.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h +drtpdecs.o: drtpdecs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h drtpfms.o: drtpfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtpfms.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -12453,6 +13418,8 @@ drtpfms.o: drtpfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12523,6 +13490,7 @@ drtpfms.o: drtpfms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtpics.o: drtpics.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtpics.h \ @@ -12565,6 +13533,8 @@ drtpics.o: drtpics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12635,7 +13605,9 @@ drtpics.o: drtpics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/drtplan.h ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -12676,6 +13648,8 @@ drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12746,10 +13720,11 @@ drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtass.h \ - ../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \ - ../include/dcmtk/dcmrt/seq/drtbcps.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtass.h ../include/dcmtk/dcmrt/seq/drtbads.h \ + ../include/dcmtk/dcmrt/seq/drtchs.h ../include/dcmtk/dcmrt/seq/drtbcps.h \ ../include/dcmtk/dcmrt/seq/drtbrdrs.h \ ../include/dcmtk/dcmrt/seq/drtcshs.h \ ../include/dcmtk/dcmrt/seq/drtrris9.h ../include/dcmtk/dcmrt/seq/drtbs.h \ @@ -12768,8 +13743,9 @@ drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -12802,30 +13778,149 @@ drtplan.o: drtplan.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtmucs.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ - ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ - ../include/dcmtk/dcmrt/seq/drtrppcs.h \ - ../include/dcmtk/dcmrt/seq/drtrpphs.h \ - ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ - ../include/dcmtk/dcmrt/seq/drtrppss.h \ - ../include/dcmtk/dcmrt/seq/drtrrtps3.h \ - ../include/dcmtk/dcmrt/seq/drtrsers.h \ - ../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrsss.h \ - ../include/dcmtk/dcmrt/seq/drtrss.h ../include/dcmtk/dcmrt/seq/drtrpis.h \ - ../include/dcmtk/dcmrt/seq/drtras.h \ - ../include/dcmtk/dcmrt/seq/drtrrpcs.h \ - ../include/dcmtk/dcmrt/seq/drtrpcs.h \ - ../include/dcmtk/dcmrt/seq/drtspcs.h \ - ../include/dcmtk/dcmrt/seq/drtrscs.h \ - ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtss.h \ - ../include/dcmtk/dcmrt/seq/drtscris.h \ - ../include/dcmtk/dcmrt/seq/drttts.h \ - ../include/dcmtk/dcmrt/seq/drtbldts.h \ - ../include/dcmtk/dcmrt/seq/drttms9.h -drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../include/dcmtk/dcmrt/seq/drtprsis.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtrppcs.h \ + ../include/dcmtk/dcmrt/seq/drtrpphs.h \ + ../include/dcmtk/dcmrt/seq/drtdimrs.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtrppss.h \ + ../include/dcmtk/dcmrt/seq/drtrrtps3.h \ + ../include/dcmtk/dcmrt/seq/drtrsers.h \ + ../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrsss.h \ + ../include/dcmtk/dcmrt/seq/drtrss.h ../include/dcmtk/dcmrt/seq/drtrpis.h \ + ../include/dcmtk/dcmrt/seq/drtras.h \ + ../include/dcmtk/dcmrt/seq/drtrrpcs.h \ + ../include/dcmtk/dcmrt/seq/drtrpcs.h \ + ../include/dcmtk/dcmrt/seq/drtspcs.h \ + ../include/dcmtk/dcmrt/seq/drtrscs.h \ + ../include/dcmtk/dcmrt/seq/drtsdcs.h ../include/dcmtk/dcmrt/seq/drtss.h \ + ../include/dcmtk/dcmrt/seq/drtscris.h \ + ../include/dcmtk/dcmrt/seq/drttts.h \ + ../include/dcmtk/dcmrt/seq/drtbldts.h \ + ../include/dcmtk/dcmrt/seq/drttms9.h +drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtporis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -12865,6 +13960,8 @@ drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -12935,9 +14032,12 @@ drtporcs.o: drtporcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtporis.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h +drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtppcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -12977,6 +14077,8 @@ drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13047,10 +14149,15 @@ drtporis.o: drtporis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h -drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtppcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtpcxs.h \ + ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \ + ../include/dcmtk/dcmrt/seq/drtcims.h \ + ../include/dcmtk/dcmrt/seq/drtmucs.h \ + ../include/dcmtk/dcmrt/seq/drtrsos.h +drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtprsis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -13090,6 +14197,8 @@ drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13160,14 +14269,12 @@ drtppcs.o: drtppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \ - ../include/dcmtk/dcmrt/seq/drtcncs.h \ - ../include/dcmtk/dcmrt/seq/drtcims.h \ - ../include/dcmtk/dcmrt/seq/drtmucs.h \ - ../include/dcmtk/dcmrt/seq/drtrsos.h -drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtprsis.h \ + ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h +drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtpscs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -13207,6 +14314,8 @@ drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13277,10 +14386,11 @@ drtprsis.o: drtprsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h -drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtpscs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtpsics.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -13320,6 +14430,8 @@ drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13390,9 +14502,11 @@ drtpscs.o: drtpscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtpsics.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h +drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtpss.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -13432,6 +14546,8 @@ drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13502,9 +14618,13 @@ drtpsics.o: drtpsics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtpss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtfds.h ../include/dcmtk/dcmrt/seq/drtmss.h \ + ../include/dcmtk/dcmrt/seq/drtrsis.h ../include/dcmtk/dcmrt/seq/drtsds.h \ + ../include/dcmtk/dcmrt/seq/drtshds.h +drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtpsss.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -13544,6 +14664,8 @@ drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13614,12 +14736,10 @@ drtpss.o: drtpss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtfds.h ../include/dcmtk/dcmrt/seq/drtmss.h \ - ../include/dcmtk/dcmrt/seq/drtrsis.h ../include/dcmtk/dcmrt/seq/drtsds.h \ - ../include/dcmtk/dcmrt/seq/drtshds.h -drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtpsss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h +drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtpvis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -13659,6 +14779,8 @@ drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13729,9 +14851,10 @@ drtpsss.o: drtpsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h -drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmrt/seq/drtpvis.h \ +drtqds.o: drtqds.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ @@ -13771,6 +14894,8 @@ drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13841,7 +14966,12 @@ drtpvis.o: drtpvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtcncs.h \ + ../include/dcmtk/dcmrt/seq/drtmucs.h \ + ../include/dcmtk/dcmrt/seq/drtrsos.h drtras.o: drtras.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtras.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -13883,6 +15013,8 @@ drtras.o: drtras.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -13953,10 +15085,12 @@ drtras.o: drtras.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtians.h \ ../include/dcmtk/dcmrt/seq/drtrrpcs.h \ - ../include/dcmtk/dcmrt/seq/drtrss.h ../include/dcmtk/dcmrt/seq/drtrpcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtrss.h \ + ../include/dcmtk/dcmrt/seq/drtrpcs.h \ ../include/dcmtk/dcmrt/seq/drtspcs.h \ ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \ ../include/dcmtk/dcmrt/seq/drtcncs.h \ @@ -14004,6 +15138,8 @@ drtrbas2.o: drtrbas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14074,6 +15210,7 @@ drtrbas2.o: drtrbas2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrbas8.o: drtrbas8.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrbas8.h \ @@ -14116,6 +15253,8 @@ drtrbas8.o: drtrbas8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14186,6 +15325,7 @@ drtrbas8.o: drtrbas8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrbls.o: drtrbls.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrbls.h \ @@ -14228,6 +15368,8 @@ drtrbls.o: drtrbls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14298,6 +15440,7 @@ drtrbls.o: drtrbls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrbos1.o: drtrbos1.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrbos1.h \ @@ -14340,6 +15483,8 @@ drtrbos1.o: drtrbos1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14410,6 +15555,7 @@ drtrbos1.o: drtrbos1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrbos6.o: drtrbos6.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrbos6.h \ @@ -14452,6 +15598,8 @@ drtrbos6.o: drtrbos6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14522,6 +15670,7 @@ drtrbos6.o: drtrbos6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrbos7.o: drtrbos7.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrbos7.h \ @@ -14564,6 +15713,8 @@ drtrbos7.o: drtrbos7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14634,6 +15785,7 @@ drtrbos7.o: drtrbos7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrbs2.o: drtrbs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrbs2.h \ @@ -14676,6 +15828,8 @@ drtrbs2.o: drtrbs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14746,6 +15900,7 @@ drtrbs2.o: drtrbs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrcps.h drtrbs4.o: drtrbs4.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -14789,6 +15944,8 @@ drtrbs4.o: drtrbs4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14859,6 +16016,7 @@ drtrbs4.o: drtrbs4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbvcps.h drtrbs8.o: drtrbs8.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -14902,6 +16060,8 @@ drtrbs8.o: drtrbs8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -14972,6 +16132,7 @@ drtrbs8.o: drtrbs8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbvcps.h drtrcdrs.o: drtrcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -15015,6 +16176,8 @@ drtrcdrs.o: drtrcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15085,6 +16248,7 @@ drtrcdrs.o: drtrcdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrcos.o: drtrcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrcos.h \ @@ -15127,6 +16291,8 @@ drtrcos.o: drtrcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15197,6 +16363,7 @@ drtrcos.o: drtrcos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrcps.o: drtrcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrcps.h \ @@ -15239,6 +16406,8 @@ drtrcps.o: drtrcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15309,6 +16478,7 @@ drtrcps.o: drtrcps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrcs.o: drtrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrcs.h \ @@ -15351,6 +16521,8 @@ drtrcs.o: drtrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15421,6 +16593,7 @@ drtrcs.o: drtrcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtcs.h ../include/dcmtk/dcmrt/seq/drtcis.h drtrdros.o: drtrdros.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -15464,6 +16637,8 @@ drtrdros.o: drtrdros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15534,6 +16709,7 @@ drtrdros.o: drtrdros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrdrs1.o: drtrdrs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrdrs1.h \ @@ -15576,6 +16752,8 @@ drtrdrs1.o: drtrdrs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15646,6 +16824,7 @@ drtrdrs1.o: drtrdrs1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrdrs6.o: drtrdrs6.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrdrs6.h \ @@ -15688,6 +16867,8 @@ drtrdrs6.o: drtrdrs6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15758,6 +16939,7 @@ drtrdrs6.o: drtrdrs6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrdrs8.o: drtrdrs8.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrdrs8.h \ @@ -15800,6 +16982,8 @@ drtrdrs8.o: drtrdrs8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15870,6 +17054,7 @@ drtrdrs8.o: drtrdrs8.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrds.o: drtrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrds.h \ @@ -15912,6 +17097,8 @@ drtrds.o: drtrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -15982,6 +17169,7 @@ drtrds.o: drtrds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrecs.o: drtrecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrecs.h \ @@ -16024,6 +17212,8 @@ drtrecs.o: drtrecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16094,6 +17284,7 @@ drtrecs.o: drtrecs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrfgs.o: drtrfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrfgs.h \ @@ -16136,6 +17327,8 @@ drtrfgs.o: drtrfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16206,6 +17399,7 @@ drtrfgs.o: drtrfgs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrbs2.h \ ../include/dcmtk/dcmrt/seq/drtrcps.h \ @@ -16251,6 +17445,8 @@ drtrfors.o: drtrfors.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16321,6 +17517,7 @@ drtrfors.o: drtrfors.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrsts.h \ ../include/dcmtk/dcmrt/seq/drtrses.h ../include/dcmtk/dcmrt/seq/drtcis.h @@ -16365,6 +17562,8 @@ drtrics.o: drtrics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16435,7 +17634,9 @@ drtrics.o: drtrics.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtrims.o: drtrims.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrims.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -16477,6 +17678,8 @@ drtrims.o: drtrims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16547,8 +17750,10 @@ drtrims.o: drtrims.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h + ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtris.o: drtris.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtris.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -16590,6 +17795,8 @@ drtris.o: drtris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16660,8 +17867,10 @@ drtris.o: drtris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h + ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtrlsds.o: drtrlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrlsds.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -16703,6 +17912,8 @@ drtrlsds.o: drtrlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16773,6 +17984,7 @@ drtrlsds.o: drtrlsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrmdrs.o: drtrmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrmdrs.h \ @@ -16815,6 +18027,8 @@ drtrmdrs.o: drtrmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16885,6 +18099,7 @@ drtrmdrs.o: drtrmdrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrms.o: drtrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrms.h \ @@ -16927,6 +18142,8 @@ drtrms.o: drtrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -16997,6 +18214,7 @@ drtrms.o: drtrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrmss6.o: drtrmss6.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrmss6.h \ @@ -17039,6 +18257,8 @@ drtrmss6.o: drtrmss6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17109,6 +18329,7 @@ drtrmss6.o: drtrmss6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrmss7.o: drtrmss7.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrmss7.h \ @@ -17151,6 +18372,8 @@ drtrmss7.o: drtrmss7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17221,6 +18444,7 @@ drtrmss7.o: drtrmss7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrpcs.o: drtrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrpcs.h \ @@ -17263,6 +18487,8 @@ drtrpcs.o: drtrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17333,7 +18559,9 @@ drtrpcs.o: drtrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtrpis.o: drtrpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrpis.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -17375,6 +18603,8 @@ drtrpis.o: drtrpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17445,8 +18675,10 @@ drtrpis.o: drtrpis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h + ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h drtrppcs.o: drtrppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -17488,6 +18720,8 @@ drtrppcs.o: drtrppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17558,7 +18792,9 @@ drtrppcs.o: drtrppcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtrpphs.o: drtrpphs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -17600,6 +18836,8 @@ drtrpphs.o: drtrpphs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17670,11 +18908,13 @@ drtrpphs.o: drtrpphs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ ../include/dcmtk/dcmrt/seq/drtdirs.h \ - ../include/dcmtk/dcmrt/seq/drtrsos.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h + ../include/dcmtk/dcmrt/seq/drtrsos.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h drtrpps.o: drtrpps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrpps.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -17716,6 +18956,8 @@ drtrpps.o: drtrpps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17786,6 +19028,7 @@ drtrpps.o: drtrpps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrecs.h drtrppss.o: drtrppss.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -17829,6 +19072,8 @@ drtrppss.o: drtrppss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -17899,6 +19144,7 @@ drtrppss.o: drtrppss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrps.o: drtrps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrps.h \ @@ -17941,6 +19187,8 @@ drtrps.o: drtrps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18011,6 +19259,7 @@ drtrps.o: drtrps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrris1.o: drtrris1.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrris1.h \ @@ -18053,6 +19302,8 @@ drtrris1.o: drtrris1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18123,6 +19374,7 @@ drtrris1.o: drtrris1.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrris6.o: drtrris6.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrris6.h \ @@ -18165,6 +19417,8 @@ drtrris6.o: drtrris6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18235,6 +19489,7 @@ drtrris6.o: drtrris6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrris9.o: drtrris9.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrris9.h \ @@ -18277,6 +19532,8 @@ drtrris9.o: drtrris9.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18347,6 +19604,7 @@ drtrris9.o: drtrris9.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrrms.o: drtrrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrrms.h \ @@ -18389,6 +19647,8 @@ drtrrms.o: drtrrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18459,6 +19719,7 @@ drtrrms.o: drtrrms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrros.o: drtrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrros.h \ @@ -18501,6 +19762,8 @@ drtrros.o: drtrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18571,8 +19834,10 @@ drtrros.o: drtrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtarics.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtrpps.h \ ../include/dcmtk/dcmrt/seq/drtrecs.h \ @@ -18620,6 +19885,8 @@ drtrrpcs.o: drtrrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18690,7 +19957,9 @@ drtrrpcs.o: drtrrpcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtrrros.o: drtrrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrrros.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -18732,6 +20001,8 @@ drtrrros.o: drtrrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18802,6 +20073,7 @@ drtrrros.o: drtrrros.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrrs.o: drtrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrrs.h \ @@ -18844,6 +20116,8 @@ drtrrs.o: drtrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -18914,6 +20188,7 @@ drtrrs.o: drtrrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrrshs.o: drtrrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrrshs.h \ @@ -18956,6 +20231,8 @@ drtrrshs.o: drtrrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19026,6 +20303,7 @@ drtrrshs.o: drtrrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrrtps.o: drtrrtps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrrtps.h \ @@ -19068,6 +20346,8 @@ drtrrtps.o: drtrrtps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19138,6 +20418,7 @@ drtrrtps.o: drtrrtps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrfgs.h \ ../include/dcmtk/dcmrt/seq/drtrbs2.h \ @@ -19184,6 +20465,8 @@ drtrrtps3.o: drtrrtps3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19254,6 +20537,7 @@ drtrrtps3.o: drtrrtps3.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrrtps4.o: drtrrtps4.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrrtps4.h \ @@ -19296,6 +20580,8 @@ drtrrtps4.o: drtrrtps4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19366,6 +20652,7 @@ drtrrtps4.o: drtrrtps4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrrtps5.o: drtrrtps5.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrrtps5.h \ @@ -19408,6 +20695,8 @@ drtrrtps5.o: drtrrtps5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19478,6 +20767,7 @@ drtrrtps5.o: drtrrtps5.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrscs.o: drtrscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrscs.h \ @@ -19520,6 +20810,8 @@ drtrscs.o: drtrscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19590,7 +20882,9 @@ drtrscs.o: drtrscs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtrsers.o: drtrsers.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -19632,6 +20926,8 @@ drtrsers.o: drtrsers.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19702,9 +20998,11 @@ drtrsers.o: drtrsers.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtris.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h + ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtrses.o: drtrses.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrses.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -19746,6 +21044,8 @@ drtrses.o: drtrses.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19816,6 +21116,7 @@ drtrses.o: drtrses.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtcis.h drtrshs.o: drtrshs.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -19859,6 +21160,8 @@ drtrshs.o: drtrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -19929,6 +21232,7 @@ drtrshs.o: drtrshs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrshs6.o: drtrshs6.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrshs6.h \ @@ -19971,6 +21275,8 @@ drtrshs6.o: drtrshs6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20041,6 +21347,7 @@ drtrshs6.o: drtrshs6.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrshs7.o: drtrshs7.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrshs7.h \ @@ -20083,6 +21390,8 @@ drtrshs7.o: drtrshs7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20153,6 +21462,7 @@ drtrshs7.o: drtrshs7.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrsis.o: drtrsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsis.h \ @@ -20195,6 +21505,8 @@ drtrsis.o: drtrsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20265,6 +21577,7 @@ drtrsis.o: drtrsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrsns.o: drtrsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsns.h \ @@ -20307,6 +21620,8 @@ drtrsns.o: drtrsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20377,6 +21692,7 @@ drtrsns.o: drtrsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrsos.o: drtrsos.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ @@ -20419,6 +21735,8 @@ drtrsos.o: drtrsos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20489,6 +21807,7 @@ drtrsos.o: drtrsos.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrsrs.o: drtrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsrs.h \ @@ -20531,6 +21850,8 @@ drtrsrs.o: drtrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20601,6 +21922,7 @@ drtrsrs.o: drtrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrss.o: drtrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrss.h \ @@ -20643,6 +21965,8 @@ drtrss.o: drtrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20713,6 +22037,7 @@ drtrss.o: drtrss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrsss.o: drtrsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsss.h \ @@ -20755,6 +22080,8 @@ drtrsss.o: drtrsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20825,6 +22152,7 @@ drtrsss.o: drtrsss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrsts.o: drtrsts.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsts.h \ @@ -20867,6 +22195,8 @@ drtrsts.o: drtrsts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -20937,6 +22267,7 @@ drtrsts.o: drtrsts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrses.h ../include/dcmtk/dcmrt/seq/drtcis.h drtrtrs2.o: drtrtrs2.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -20980,6 +22311,8 @@ drtrtrs2.o: drtrtrs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21050,6 +22383,7 @@ drtrtrs2.o: drtrtrs2.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrbs2.h \ ../include/dcmtk/dcmrt/seq/drtrcps.h @@ -21094,6 +22428,8 @@ drtrtrs4.o: drtrtrs4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21164,6 +22500,7 @@ drtrtrs4.o: drtrtrs4.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrvis.o: drtrvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrvis.h \ @@ -21206,6 +22543,8 @@ drtrvis.o: drtrvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21276,6 +22615,7 @@ drtrvis.o: drtrvis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrws.o: drtrws.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrws.h \ @@ -21318,6 +22658,8 @@ drtrws.o: drtrws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21388,6 +22730,7 @@ drtrws.o: drtrws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtrwvms.o: drtrwvms.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrwvms.h \ @@ -21430,6 +22773,8 @@ drtrwvms.o: drtrwvms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21500,8 +22845,12 @@ drtrwvms.o: drtrwvms.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtmucs.h + ../include/dcmtk/dcmrt/seq/drtmucs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h ../include/dcmtk/dcmrt/seq/drtccs.h \ + ../include/dcmtk/dcmrt/seq/drtcncs.h \ + ../include/dcmtk/dcmrt/seq/drtrsos.h drtscris.o: drtscris.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtscris.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -21543,6 +22892,8 @@ drtscris.o: drtscris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21613,10 +22964,12 @@ drtscris.o: drtscris.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ ../include/dcmtk/dcmrt/seq/drtris.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h + ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtsdcs.o: drtsdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtsdcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -21658,6 +23011,8 @@ drtsdcs.o: drtsdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21728,7 +23083,9 @@ drtsdcs.o: drtsdcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtsds.o: drtsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtsds.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -21770,6 +23127,8 @@ drtsds.o: drtsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21840,6 +23199,7 @@ drtsds.o: drtsds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtshds.o: drtshds.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtshds.h \ @@ -21882,6 +23242,8 @@ drtshds.o: drtshds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -21952,6 +23314,7 @@ drtshds.o: drtshds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtsis.o: drtsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtsis.h \ @@ -21994,6 +23357,8 @@ drtsis.o: drtsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22064,8 +23429,10 @@ drtsis.o: drtsis.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtporcs.h + ../include/dcmtk/dcmrt/seq/drtporcs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtsns.o: drtsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtsns.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -22107,6 +23474,8 @@ drtsns.o: drtsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22177,6 +23546,7 @@ drtsns.o: drtsns.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtspccs.o: drtspccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtspccs.h \ @@ -22219,6 +23589,8 @@ drtspccs.o: drtspccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22289,7 +23661,9 @@ drtspccs.o: drtspccs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ - ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h drtspcs.o: drtspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtspcs.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ @@ -22331,6 +23705,8 @@ drtspcs.o: drtspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22401,9 +23777,10 @@ drtspcs.o: drtspcs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtpcxs.h ../include/dcmtk/dcmrt/seq/drtccs.h \ - ../include/dcmtk/dcmrt/seq/drtcncs.h \ + ../include/dcmtk/dcmrt/seq/drtecs.h ../include/dcmtk/dcmrt/seq/drtpcxs.h \ + ../include/dcmtk/dcmrt/seq/drtccs.h ../include/dcmtk/dcmrt/seq/drtcncs.h \ ../include/dcmtk/dcmrt/seq/drtcims.h \ ../include/dcmtk/dcmrt/seq/drtmucs.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h @@ -22448,6 +23825,8 @@ drtss.o: drtss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22518,6 +23897,7 @@ drtss.o: drtss.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtssrs.o: drtssrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtssrs.h \ @@ -22560,6 +23940,8 @@ drtssrs.o: drtssrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22630,8 +24012,9 @@ drtssrs.o: drtssrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtdcs.h + ../include/dcmtk/dcmrt/seq/drtdcs.h ../include/dcmtk/dcmrt/seq/drtecs.h drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/drtstrct.h ../include/dcmtk/dcmrt/drttypes.h \ ../../ofstd/include/dcmtk/ofstd/oftypes.h \ @@ -22672,6 +24055,8 @@ drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22742,13 +24127,16 @@ drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -22775,7 +24163,9 @@ drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpsss.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \ ../include/dcmtk/dcmrt/seq/drtcis.h ../include/dcmtk/dcmrt/seq/drtrros.h \ ../include/dcmtk/dcmrt/seq/drtarics.h \ @@ -22790,8 +24180,10 @@ drtstrct.o: drtstrct.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrses.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ ../include/dcmtk/dcmrt/seq/drtris.h ../include/dcmtk/dcmrt/seq/drtrss.h \ @@ -22844,6 +24236,8 @@ drttms0.o: drttms0.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -22914,6 +24308,7 @@ drttms0.o: drttms0.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drttms9.o: drttms9.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drttms9.h \ @@ -22956,6 +24351,8 @@ drttms9.o: drttms9.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23026,6 +24423,7 @@ drttms9.o: drttms9.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drttreat.o: drttreat.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/drttreat.h ../include/dcmtk/dcmrt/drttypes.h \ @@ -23067,6 +24465,8 @@ drttreat.o: drttreat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23137,13 +24537,16 @@ drttreat.o: drttreat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -23171,12 +24574,15 @@ drttreat.o: drttreat.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps4.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ @@ -23232,6 +24638,8 @@ drttscds.o: drttscds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23302,6 +24710,7 @@ drttscds.o: drttscds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drttsibs.o: drttsibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drttsibs.h \ @@ -23344,6 +24753,8 @@ drttsibs.o: drttsibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23414,6 +24825,7 @@ drttsibs.o: drttsibs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtas7.h \ ../include/dcmtk/dcmrt/seq/drtbldls.h \ @@ -23476,6 +24888,8 @@ drttsmds.o: drttsmds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23546,6 +24960,7 @@ drttsmds.o: drttsmds.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drttts.o: drttts.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drttts.h \ @@ -23588,6 +25003,8 @@ drttts.o: drttts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23658,6 +25075,7 @@ drttts.o: drttts.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmrt/seq/drtbldts.h drttypes.o: drttypes.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -23700,6 +25118,8 @@ drttypes.o: drttypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23770,6 +25190,7 @@ drttypes.o: drttypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtvls.o: drtvls.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtvls.h \ @@ -23812,6 +25233,8 @@ drtvls.o: drtvls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23882,6 +25305,7 @@ drtvls.o: drtvls.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtwps.o: drtwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtwps.h \ @@ -23924,6 +25348,8 @@ drtwps.o: drtwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -23994,6 +25420,7 @@ drtwps.o: drtwps.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtwrs.o: drtwrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtwrs.h \ @@ -24036,6 +25463,123 @@ drtwrs.o: drtwrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h +drtwrsrs.o: drtwrsrs.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../include/dcmtk/dcmrt/drttypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -24106,6 +25650,7 @@ drtwrs.o: drtwrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtws.o: drtws.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtws.h \ @@ -24148,6 +25693,8 @@ drtws.o: drtws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -24218,6 +25765,7 @@ drtws.o: drtws.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h drtxrs.o: drtxrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtxrs.h \ @@ -24260,6 +25808,8 @@ drtxrs.o: drtxrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -24330,4 +25880,5 @@ drtxrs.o: drtxrs.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h diff --git a/dcmrt/libsrc/Makefile.in b/dcmrt/libsrc/Makefile.in index 86eee985..30c5409a 100644 --- a/dcmrt/libsrc/Makefile.in +++ b/dcmrt/libsrc/Makefile.in @@ -26,32 +26,32 @@ objs = drtdose.o drtimage.o drtplan.o drtstrct.o drttreat.o drtionpl.o drtiontr. drtaadcs.o drtadcs.o drtads.o drtafs.o drtags.o drtajcs.o drtarics.o \ drtas1.o drtas5.o drtas6.o drtas7.o drtass.o drtbads.o drtbas.o \ drtbcps.o drtbl2.o drtbl5.o drtbldls.o drtbldps.o drtblds1.o drtblds5.o \ - drtblds6.o drtbldts.o drtbrcss.o drtbrdrs.o drtbrs.o drtbs.o drtbvcps.o \ - drtcbars.o drtccs.o drtcctus.o drtcdrs.o drtces.o drtchs.o drtcims.o \ - drtcis.o drtcncs.o drtcos.o drtcpas.o drtcps.o drtcsas.o drtcs.o \ - drtcshs.o drtcsis.o drtcss.o drtdcs.o drtdimcs.o drtdimrs.o drtdirs.o \ - drtdrs.o drtds.o drtdspcs.o drtdss.o drtdvhs.o drtdvrrs.o drteas.o \ - drtes.o drtfds.o drtfes.o drtfgs.o drtfgss.o drtfms.o drtfsss.o \ - drtgas.o drthsdrs.o drtiais.o drtians.o drtiblds.o drtibls.o drtibs.o \ - drticpds.o drticps.o drtics.o drtiis.o drtipiqs.o drtircs.o drtiseis.o \ - drtitts.o drtiwps.o drtiws.o drtlsds6.o drtlsds7.o drtlsds.o drtmacds.o \ - drtmas.o drtmdrs.o drtmls.o drtmps.o drtmss.o drtmucs.o drtoas.o \ - drtois.o drtopis.o drtos.o drtpbcs.o drtpcs.o drtpcxs.o drtpfms.o \ - drtpics.o drtporcs.o drtporis.o drtppcs.o drtprsis.o drtpscs.o \ - drtpsics.o drtpss.o drtpsss.o drtpvis.o drtras.o drtrbas2.o drtrbas8.o \ - drtrbls.o drtrbos1.o drtrbos6.o drtrbos7.o drtrbs2.o drtrbs4.o drtrbs8.o \ - drtrcdrs.o drtrcos.o drtrcps.o drtrcs.o drtrdros.o drtrdrs1.o drtrdrs6.o \ - drtrdrs8.o drtrds.o drtrecs.o drtrfgs.o drtrfors.o drtrics.o drtrims.o \ - drtris.o drtrlsds.o drtrmdrs.o drtrms.o drtrmss6.o drtrmss7.o drtrpcs.o \ - drtrpis.o drtrppcs.o drtrpphs.o drtrpps.o drtrppss.o drtrps.o drtrris1.o \ - drtrris6.o drtrris9.o drtrrms.o drtrros.o drtrrpcs.o drtrrros.o drtrrs.o \ - drtrrshs.o drtrrtps3.o drtrrtps4.o drtrrtps5.o drtrrtps.o drtrscs.o \ - drtrsers.o drtrses.o drtrshs6.o drtrshs7.o drtrshs.o drtrsis.o drtrsns.o \ - drtrsos.o drtrsrs.o drtrss.o drtrsss.o drtrsts.o drtrtrs2.o drtrtrs4.o \ - drtrvis.o drtrws.o drtrwvms.o drtscris.o drtsdcs.o drtsds.o drtshds.o \ - drtsis.o drtsns.o drtspccs.o drtspcs.o drtss.o drtssrs.o drttms0.o \ - drttms9.o drttscds.o drttsibs.o drttsmds.o drttts.o drtvls.o drtwps.o \ - drtwrs.o drtws.o drtxrs.o + drtblds6.o drtbldts.o drtbrcss.o drtbrdrs.o drtbrs.o drtbs.o drtbss.o \ + drtbvcps.o drtcbars.o drtccs.o drtcctus.o drtcdrs.o drtces.o drtchs.o \ + drtcims.o drtcis.o drtcncs.o drtcos.o drtcpas.o drtcpis.o drtcps.o \ + drtcsas.o drtcs.o drtcshs.o drtcsis.o drtcss.o drtdcs.o drtdias.o \ + drtdimcs.o drtdimrs.o drtdirs.o drtdrs.o drtds.o drtdspcs.o drtdss.o \ + drtdvhs.o drtdvrrs.o drteas.o drtecs.o drtes.o drtfds.o drtfes.o drtfgs.o \ + drtfgss.o drtfms.o drtfsss.o drtgas.o drthsdrs.o drtiais.o drtians.o \ + drtiblds.o drtibls.o drtibs.o drticpds.o drticps.o drtics.o drtiis.o \ + drtipiqs.o drtircs.o drtiseis.o drtitts.o drtiwps.o drtiws.o drtlsds6.o \ + drtlsds7.o drtlsds.o drtmacds.o drtmas.o drtmdrs.o drtmls.o drtmps.o \ + drtmss.o drtmucs.o drtoas.o drtois.o drtopis.o drtos.o drtpbcs.o drtpcs.o \ + drtpcxs.o drtpdecs.o drtpfms.o drtpics.o drtporcs.o drtporis.o drtppcs.o \ + drtprsis.o drtpscs.o drtpsics.o drtpss.o drtpsss.o drtpvis.o drtqds.o \ + drtras.o drtrbas2.o drtrbas8.o drtrbls.o drtrbos1.o drtrbos6.o drtrbos7.o \ + drtrbs2.o drtrbs4.o drtrbs8.o drtrcdrs.o drtrcos.o drtrcps.o drtrcs.o \ + drtrdros.o drtrdrs1.o drtrdrs6.o drtrdrs8.o drtrds.o drtrecs.o drtrfgs.o \ + drtrfors.o drtrics.o drtrims.o drtris.o drtrlsds.o drtrmdrs.o drtrms.o \ + drtrmss6.o drtrmss7.o drtrpcs.o drtrpis.o drtrppcs.o drtrpphs.o drtrpps.o \ + drtrppss.o drtrps.o drtrris1.o drtrris6.o drtrris9.o drtrrms.o drtrros.o \ + drtrrpcs.o drtrrros.o drtrrs.o drtrrshs.o drtrrtps3.o drtrrtps4.o \ + drtrrtps5.o drtrrtps.o drtrscs.o drtrsers.o drtrses.o drtrshs6.o \ + drtrshs7.o drtrshs.o drtrsis.o drtrsns.o drtrsos.o drtrsrs.o drtrss.o \ + drtrsss.o drtrsts.o drtrtrs2.o drtrtrs4.o drtrvis.o drtrws.o drtrwvms.o \ + drtscris.o drtsdcs.o drtsds.o drtshds.o drtsis.o drtsns.o drtspccs.o \ + drtspcs.o drtss.o drtssrs.o drttms0.o drttms9.o drttscds.o drttsibs.o \ + drttsmds.o drttts.o drtvls.o drtwps.o drtwrs.o drtwrsrs.o drtws.o drtxrs.o library = libdcmrt.$(LIBEXT) diff --git a/dcmrt/libsrc/drmdose.cc b/dcmrt/libsrc/drmdose.cc index 085a7200..b9223742 100644 --- a/dcmrt/libsrc/drmdose.cc +++ b/dcmrt/libsrc/drmdose.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2012, OFFIS e.V. + * Copyright (C) 2012-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -59,7 +59,7 @@ protected: signedT getPixelSigned(Uint32 pixelNumber) { signedT result; - if (pixelData_.getPartialValue(&result, pixelNumber * sizeof(signedT), sizeof(signedT)).bad()) + if (pixelData_.getPartialValue(&result, OFstatic_cast(Uint32, pixelNumber * sizeof(signedT)), OFstatic_cast(Uint32, sizeof(signedT))).bad()) return -1; return result; } @@ -67,7 +67,7 @@ protected: unsignedT getPixelUnsigned(Uint32 pixelNumber) { unsignedT result; - if (pixelData_.getPartialValue(&result, pixelNumber * sizeof(unsignedT), sizeof(unsignedT)).bad()) + if (pixelData_.getPartialValue(&result, OFstatic_cast(Uint32, pixelNumber * sizeof(unsignedT)), OFstatic_cast(Uint32, sizeof(unsignedT))).bad()) return -1; return result; } @@ -82,7 +82,7 @@ protected: cond = EC_MemoryExhausted; } else { // First, get the "raw" pixel data - cond = pixelData_.getPartialValue(tmp, offset * sizeof(signedT), length * sizeof(signedT)); + cond = pixelData_.getPartialValue(tmp, OFstatic_cast(Uint32, offset * sizeof(signedT)), OFstatic_cast(Uint32, length * sizeof(signedT))); if (cond.good()) { result.clear(); result.reserve(length); @@ -105,7 +105,7 @@ protected: cond = EC_MemoryExhausted; } else { // First, get the "raw" pixel data - cond = pixelData_.getPartialValue(tmp, offset * sizeof(unsignedT), length * sizeof(unsignedT)); + cond = pixelData_.getPartialValue(tmp, OFstatic_cast(Uint32, offset * sizeof(unsignedT)), OFstatic_cast(Uint32, length * sizeof(unsignedT))); if (cond.good()) { result.clear(); result.reserve(length); diff --git a/dcmrt/libsrc/drtaadcs.cc b/dcmrt/libsrc/drtaadcs.cc index e223f2f5..c25a13a2 100644 --- a/dcmrt/libsrc/drtaadcs.cc +++ b/dcmrt/libsrc/drtaadcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTAssigningAgencyOrDepartmentCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTAssigningAgencyOrDepartmentCodeSequence::Item::Item(const OFBool emptyDefault ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTAssigningAgencyOrDepartmentCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTAssigningAgencyOrDepartmentCodeSequence::Item &DRTAssigningAgencyOrDepartment ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTAssigningAgencyOrDepartmentCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTAssigningAgencyOrDepartmentCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::read(DcmItem &item { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AssigningAgencyOrDepartmentCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AssigningAgencyOrDepartmentCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AssigningAgencyOrDepartmentCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::write(DcmItem &ite if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AssigningAgencyOrDepartmentCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AssigningAgencyOrDepartmentCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AssigningAgencyOrDepartmentCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AssigningAgencyOrDepartmentCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AssigningAgencyOrDepartmentCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getContextUID(OFSt } +OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getMappingResource } +OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setContextUID(cons } +OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setMappingResource } +OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTAssigningAgencyOrDepartmentCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTAssigningAgencyOrDepartmentCodeSequence::DRTAssigningAgencyOrDepartmentCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtadcs.cc b/dcmrt/libsrc/drtadcs.cc index 9b28cf14..a350a8e8 100644 --- a/dcmrt/libsrc/drtadcs.cc +++ b/dcmrt/libsrc/drtadcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTAdmittingDiagnosesCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTAdmittingDiagnosesCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTAdmittingDiagnosesCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTAdmittingDiagnosesCodeSequence::Item &DRTAdmittingDiagnosesCodeSequence::Item ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTAdmittingDiagnosesCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTAdmittingDiagnosesCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTAdmittingDiagnosesCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AdmittingDiagnosesCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AdmittingDiagnosesCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AdmittingDiagnosesCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AdmittingDiagnosesCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AdmittingDiagnosesCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AdmittingDiagnosesCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AdmittingDiagnosesCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AdmittingDiagnosesCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AdmittingDiagnosesCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTAdmittingDiagnosesCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AdmittingDiagnosesCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AdmittingDiagnosesCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AdmittingDiagnosesCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AdmittingDiagnosesCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AdmittingDiagnosesCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AdmittingDiagnosesCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AdmittingDiagnosesCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AdmittingDiagnosesCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AdmittingDiagnosesCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getContextUID(OFString &val } +OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getMappingResource(OFString } +OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTAdmittingDiagnosesCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setContextUID(const OFStrin } +OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setMappingResource(const OF } +OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTAdmittingDiagnosesCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTAdmittingDiagnosesCodeSequence::DRTAdmittingDiagnosesCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtads.cc b/dcmrt/libsrc/drtads.cc index 81f33cd7..b5f23b84 100644 --- a/dcmrt/libsrc/drtads.cc +++ b/dcmrt/libsrc/drtads.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTAdditionalDrugSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTAdditionalDrugSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTAdditionalDrugSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTAdditionalDrugSequence::Item &DRTAdditionalDrugSequence::Item::operator=(cons ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTAdditionalDrugSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTAdditionalDrugSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTAdditionalDrugSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AdditionalDrugSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AdditionalDrugSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AdditionalDrugSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AdditionalDrugSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AdditionalDrugSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AdditionalDrugSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AdditionalDrugSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AdditionalDrugSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AdditionalDrugSequence"); @@ -151,13 +175,17 @@ OFCondition DRTAdditionalDrugSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AdditionalDrugSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AdditionalDrugSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AdditionalDrugSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AdditionalDrugSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AdditionalDrugSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AdditionalDrugSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AdditionalDrugSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AdditionalDrugSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AdditionalDrugSequence"); @@ -257,6 +285,15 @@ OFCondition DRTAdditionalDrugSequence::Item::getContextUID(OFString &value, cons } +OFCondition DRTAdditionalDrugSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTAdditionalDrugSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTAdditionalDrugSequence::Item::getMappingResource(OFString &value, } +OFCondition DRTAdditionalDrugSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTAdditionalDrugSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTAdditionalDrugSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTAdditionalDrugSequence::Item::setContextUID(const OFString &value } +OFCondition DRTAdditionalDrugSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTAdditionalDrugSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTAdditionalDrugSequence::Item::setMappingResource(const OFString & } +OFCondition DRTAdditionalDrugSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTAdditionalDrugSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTAdditionalDrugSequence::DRTAdditionalDrugSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtafs.cc b/dcmrt/libsrc/drtafs.cc index ca1be4a4..86fa43f9 100644 --- a/dcmrt/libsrc/drtafs.cc +++ b/dcmrt/libsrc/drtafs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTAssigningFacilitySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtags.cc b/dcmrt/libsrc/drtags.cc index 0c7da5e9..d84ca151 100644 --- a/dcmrt/libsrc/drtags.cc +++ b/dcmrt/libsrc/drtags.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTApplicatorGeometrySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtajcs.cc b/dcmrt/libsrc/drtajcs.cc index 3ed0ce55..17a0ff60 100644 --- a/dcmrt/libsrc/drtajcs.cc +++ b/dcmrt/libsrc/drtajcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTAssigningJurisdictionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTAssigningJurisdictionCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTAssigningJurisdictionCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTAssigningJurisdictionCodeSequence::Item &DRTAssigningJurisdictionCodeSequence ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTAssigningJurisdictionCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTAssigningJurisdictionCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTAssigningJurisdictionCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AssigningJurisdictionCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AssigningJurisdictionCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AssigningJurisdictionCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AssigningJurisdictionCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AssigningJurisdictionCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AssigningJurisdictionCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AssigningJurisdictionCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AssigningJurisdictionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AssigningJurisdictionCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTAssigningJurisdictionCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AssigningJurisdictionCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AssigningJurisdictionCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AssigningJurisdictionCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AssigningJurisdictionCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AssigningJurisdictionCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AssigningJurisdictionCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AssigningJurisdictionCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AssigningJurisdictionCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AssigningJurisdictionCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTAssigningJurisdictionCodeSequence::Item::getContextUID(OFString & } +OFCondition DRTAssigningJurisdictionCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTAssigningJurisdictionCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTAssigningJurisdictionCodeSequence::Item::getMappingResource(OFStr } +OFCondition DRTAssigningJurisdictionCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTAssigningJurisdictionCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTAssigningJurisdictionCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTAssigningJurisdictionCodeSequence::Item::setContextUID(const OFSt } +OFCondition DRTAssigningJurisdictionCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTAssigningJurisdictionCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTAssigningJurisdictionCodeSequence::Item::setMappingResource(const } +OFCondition DRTAssigningJurisdictionCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTAssigningJurisdictionCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTAssigningJurisdictionCodeSequence::DRTAssigningJurisdictionCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtarics.cc b/dcmrt/libsrc/drtarics.cc index 61453616..7e6d530b 100644 --- a/dcmrt/libsrc/drtarics.cc +++ b/dcmrt/libsrc/drtarics.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTAdditionalRTROIIdentificationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,8 +31,12 @@ DRTAdditionalRTROIIdentificationCodeSequence::Item::Item(const OFBool emptyDefau ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), MappingResource(DCM_MappingResource), - PurposeOfReferenceCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/) + MappingResourceUID(DCM_MappingResourceUID), + PurposeOfReferenceCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + URNCodeValue(DCM_URNCodeValue) { } @@ -49,8 +53,12 @@ DRTAdditionalRTROIIdentificationCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), MappingResource(copy.MappingResource), - PurposeOfReferenceCodeSequence(copy.PurposeOfReferenceCodeSequence) + MappingResourceUID(copy.MappingResourceUID), + PurposeOfReferenceCodeSequence(copy.PurposeOfReferenceCodeSequence), + URNCodeValue(copy.URNCodeValue) { } @@ -75,8 +83,12 @@ DRTAdditionalRTROIIdentificationCodeSequence::Item &DRTAdditionalRTROIIdentifica ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; PurposeOfReferenceCodeSequence = copy.PurposeOfReferenceCodeSequence; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -91,9 +103,13 @@ void DRTAdditionalRTROIIdentificationCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -109,9 +125,13 @@ OFBool DRTAdditionalRTROIIdentificationCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -133,13 +153,17 @@ OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::read(DcmItem &it { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "AdditionalRTROIIdentificationCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "AdditionalRTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "AdditionalRTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "AdditionalRTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); @@ -157,13 +181,17 @@ OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::write(DcmItem &i if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "AdditionalRTROIIdentificationCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "AdditionalRTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "AdditionalRTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "AdditionalRTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "AdditionalRTROIIdentificationCodeSequence"); @@ -264,6 +292,15 @@ OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getContextUID(OF } +OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -273,6 +310,24 @@ OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getMappingResour } +OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -403,6 +458,19 @@ OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setContextUID(co } +OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -416,6 +484,32 @@ OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setMappingResour } +OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTAdditionalRTROIIdentificationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTAdditionalRTROIIdentificationCodeSequence::DRTAdditionalRTROIIdentificationCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtas1.cc b/dcmrt/libsrc/drtas1.cc index fee18432..4c06a738 100644 --- a/dcmrt/libsrc/drtas1.cc +++ b/dcmrt/libsrc/drtas1.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTApplicatorSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtas5.cc b/dcmrt/libsrc/drtas5.cc index 16ee6da4..9f4901af 100644 --- a/dcmrt/libsrc/drtas5.cc +++ b/dcmrt/libsrc/drtas5.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTApplicatorSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtas6.cc b/dcmrt/libsrc/drtas6.cc index fa1499d2..304bd0a2 100644 --- a/dcmrt/libsrc/drtas6.cc +++ b/dcmrt/libsrc/drtas6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTApplicatorSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtas7.cc b/dcmrt/libsrc/drtas7.cc index 0894f0bf..1abdea15 100644 --- a/dcmrt/libsrc/drtas7.cc +++ b/dcmrt/libsrc/drtas7.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTApplicatorSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtass.cc b/dcmrt/libsrc/drtass.cc index ac8d89e9..5578b577 100644 --- a/dcmrt/libsrc/drtass.cc +++ b/dcmrt/libsrc/drtass.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTApplicationSetupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbads.cc b/dcmrt/libsrc/drtbads.cc index 33a33b22..55e4dee6 100644 --- a/dcmrt/libsrc/drtbads.cc +++ b/dcmrt/libsrc/drtbads.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBrachyAccessoryDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbas.cc b/dcmrt/libsrc/drtbas.cc index 749fd65f..55a74972 100644 --- a/dcmrt/libsrc/drtbas.cc +++ b/dcmrt/libsrc/drtbas.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTContrastBolusAgentSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTContrastBolusAgentSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTContrastBolusAgentSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTContrastBolusAgentSequence::Item &DRTContrastBolusAgentSequence::Item::operat ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTContrastBolusAgentSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTContrastBolusAgentSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTContrastBolusAgentSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ContrastBolusAgentSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ContrastBolusAgentSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ContrastBolusAgentSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ContrastBolusAgentSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ContrastBolusAgentSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ContrastBolusAgentSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ContrastBolusAgentSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ContrastBolusAgentSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ContrastBolusAgentSequence"); @@ -151,13 +175,17 @@ OFCondition DRTContrastBolusAgentSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ContrastBolusAgentSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ContrastBolusAgentSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ContrastBolusAgentSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ContrastBolusAgentSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ContrastBolusAgentSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ContrastBolusAgentSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ContrastBolusAgentSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ContrastBolusAgentSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ContrastBolusAgentSequence"); @@ -257,6 +285,15 @@ OFCondition DRTContrastBolusAgentSequence::Item::getContextUID(OFString &value, } +OFCondition DRTContrastBolusAgentSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTContrastBolusAgentSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTContrastBolusAgentSequence::Item::getMappingResource(OFString &va } +OFCondition DRTContrastBolusAgentSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTContrastBolusAgentSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTContrastBolusAgentSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTContrastBolusAgentSequence::Item::setContextUID(const OFString &v } +OFCondition DRTContrastBolusAgentSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTContrastBolusAgentSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTContrastBolusAgentSequence::Item::setMappingResource(const OFStri } +OFCondition DRTContrastBolusAgentSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTContrastBolusAgentSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTContrastBolusAgentSequence::DRTContrastBolusAgentSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtbcps.cc b/dcmrt/libsrc/drtbcps.cc index 65f7500f..1eac2efb 100644 --- a/dcmrt/libsrc/drtbcps.cc +++ b/dcmrt/libsrc/drtbcps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBrachyControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbl2.cc b/dcmrt/libsrc/drtbl2.cc index 41b4a1be..f86a6700 100644 --- a/dcmrt/libsrc/drtbl2.cc +++ b/dcmrt/libsrc/drtbl2.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBlockSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbl5.cc b/dcmrt/libsrc/drtbl5.cc index b9e381ba..806f2901 100644 --- a/dcmrt/libsrc/drtbl5.cc +++ b/dcmrt/libsrc/drtbl5.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBlockSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbldls.cc b/dcmrt/libsrc/drtbldls.cc index 0122ee26..560165cd 100644 --- a/dcmrt/libsrc/drtbldls.cc +++ b/dcmrt/libsrc/drtbldls.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamLimitingDeviceLeafPairsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbldps.cc b/dcmrt/libsrc/drtbldps.cc index 012b8e14..07a8ef8e 100644 --- a/dcmrt/libsrc/drtbldps.cc +++ b/dcmrt/libsrc/drtbldps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamLimitingDevicePositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtblds1.cc b/dcmrt/libsrc/drtblds1.cc index 1a6cf0a1..1cef0f20 100644 --- a/dcmrt/libsrc/drtblds1.cc +++ b/dcmrt/libsrc/drtblds1.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamLimitingDeviceSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtblds5.cc b/dcmrt/libsrc/drtblds5.cc index dd20fb09..714aa7b5 100644 --- a/dcmrt/libsrc/drtblds5.cc +++ b/dcmrt/libsrc/drtblds5.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamLimitingDeviceSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtblds6.cc b/dcmrt/libsrc/drtblds6.cc index 5e3614b4..b5719c40 100644 --- a/dcmrt/libsrc/drtblds6.cc +++ b/dcmrt/libsrc/drtblds6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamLimitingDeviceSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbldts.cc b/dcmrt/libsrc/drtbldts.cc index 763d1fb5..0a5a5016 100644 --- a/dcmrt/libsrc/drtbldts.cc +++ b/dcmrt/libsrc/drtbldts.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamLimitingDeviceToleranceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbrcss.cc b/dcmrt/libsrc/drtbrcss.cc index 88b053b1..2f23b0d1 100644 --- a/dcmrt/libsrc/drtbrcss.cc +++ b/dcmrt/libsrc/drtbrcss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBreedRegistryCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTBreedRegistryCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTBreedRegistryCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTBreedRegistryCodeSequence::Item &DRTBreedRegistryCodeSequence::Item::operator ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTBreedRegistryCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTBreedRegistryCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTBreedRegistryCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "BreedRegistryCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "BreedRegistryCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "BreedRegistryCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "BreedRegistryCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "BreedRegistryCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "BreedRegistryCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "BreedRegistryCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "BreedRegistryCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "BreedRegistryCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTBreedRegistryCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "BreedRegistryCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "BreedRegistryCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "BreedRegistryCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "BreedRegistryCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "BreedRegistryCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "BreedRegistryCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "BreedRegistryCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "BreedRegistryCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "BreedRegistryCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTBreedRegistryCodeSequence::Item::getContextUID(OFString &value, c } +OFCondition DRTBreedRegistryCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTBreedRegistryCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTBreedRegistryCodeSequence::Item::getMappingResource(OFString &val } +OFCondition DRTBreedRegistryCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTBreedRegistryCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTBreedRegistryCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTBreedRegistryCodeSequence::Item::setContextUID(const OFString &va } +OFCondition DRTBreedRegistryCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTBreedRegistryCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTBreedRegistryCodeSequence::Item::setMappingResource(const OFStrin } +OFCondition DRTBreedRegistryCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTBreedRegistryCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTBreedRegistryCodeSequence::DRTBreedRegistryCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtbrdrs.cc b/dcmrt/libsrc/drtbrdrs.cc index 2e9f9fc6..98b584bc 100644 --- a/dcmrt/libsrc/drtbrdrs.cc +++ b/dcmrt/libsrc/drtbrdrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBrachyReferencedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbrs.cc b/dcmrt/libsrc/drtbrs.cc index 8a7fb379..67f54168 100644 --- a/dcmrt/libsrc/drtbrs.cc +++ b/dcmrt/libsrc/drtbrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBreedRegistrationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbs.cc b/dcmrt/libsrc/drtbs.cc index 6760ddd6..f9e42e8c 100644 --- a/dcmrt/libsrc/drtbs.cc +++ b/dcmrt/libsrc/drtbs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtbss.cc b/dcmrt/libsrc/drtbss.cc new file mode 100644 index 00000000..d72e2d2d --- /dev/null +++ b/dcmrt/libsrc/drtbss.cc @@ -0,0 +1,607 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class DRTBlockSlabSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/dcmrt/seq/drtbss.h" + + +// --- item class --- + +DRTBlockSlabSequence::Item::Item(const OFBool emptyDefaultItem) + : EmptyDefaultItem(emptyDefaultItem), + AccessoryCode(DCM_AccessoryCode), + BlockSlabNumber(DCM_BlockSlabNumber), + BlockSlabThickness(DCM_BlockSlabThickness) +{ +} + + +DRTBlockSlabSequence::Item::Item(const Item ©) + : EmptyDefaultItem(copy.EmptyDefaultItem), + AccessoryCode(copy.AccessoryCode), + BlockSlabNumber(copy.BlockSlabNumber), + BlockSlabThickness(copy.BlockSlabThickness) +{ +} + + +DRTBlockSlabSequence::Item::~Item() +{ +} + + +DRTBlockSlabSequence::Item &DRTBlockSlabSequence::Item::operator=(const Item ©) +{ + if (this != ©) + { + EmptyDefaultItem = copy.EmptyDefaultItem; + AccessoryCode = copy.AccessoryCode; + BlockSlabNumber = copy.BlockSlabNumber; + BlockSlabThickness = copy.BlockSlabThickness; + } + return *this; +} + + +void DRTBlockSlabSequence::Item::clear() +{ + if (!EmptyDefaultItem) + { + /* clear all DICOM attributes */ + BlockSlabNumber.clear(); + BlockSlabThickness.clear(); + AccessoryCode.clear(); + } +} + + +OFBool DRTBlockSlabSequence::Item::isEmpty() +{ + return BlockSlabNumber.isEmpty() && + BlockSlabThickness.isEmpty() && + AccessoryCode.isEmpty(); +} + + +OFBool DRTBlockSlabSequence::Item::isValid() const +{ + return !EmptyDefaultItem; +} + + +OFCondition DRTBlockSlabSequence::Item::read(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + /* re-initialize object */ + clear(); + getAndCheckElementFromDataset(item, BlockSlabNumber, "1", "1", "BlockSlabSequence"); + getAndCheckElementFromDataset(item, BlockSlabThickness, "1", "3", "BlockSlabSequence"); + getAndCheckElementFromDataset(item, AccessoryCode, "1", "3", "BlockSlabSequence"); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTBlockSlabSequence::Item::write(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = EC_Normal; + addElementToDataset(result, item, new DcmUnsignedShort(BlockSlabNumber), "1", "1", "BlockSlabSequence"); + addElementToDataset(result, item, new DcmDecimalString(BlockSlabThickness), "1", "3", "BlockSlabSequence"); + addElementToDataset(result, item, new DcmLongString(AccessoryCode), "1", "3", "BlockSlabSequence"); + } + return result; +} + + +OFCondition DRTBlockSlabSequence::Item::getAccessoryCode(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(AccessoryCode, value, pos); +} + + +OFCondition DRTBlockSlabSequence::Item::getBlockSlabNumber(Uint16 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmUnsignedShort &, BlockSlabNumber).getUint16(value, pos); +} + + +OFCondition DRTBlockSlabSequence::Item::getBlockSlabThickness(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(BlockSlabThickness, value, pos); +} + + +OFCondition DRTBlockSlabSequence::Item::getBlockSlabThickness(Float64 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmDecimalString &, BlockSlabThickness).getFloat64(value, pos); +} + + +OFCondition DRTBlockSlabSequence::Item::setAccessoryCode(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = AccessoryCode.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTBlockSlabSequence::Item::setBlockSlabNumber(const Uint16 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return BlockSlabNumber.putUint16(value, pos); +} + + +OFCondition DRTBlockSlabSequence::Item::setBlockSlabThickness(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = BlockSlabThickness.putOFStringArray(value); + } + return result; +} + + +// --- sequence class --- + +DRTBlockSlabSequence::DRTBlockSlabSequence(const OFBool emptyDefaultSequence) + : EmptyDefaultSequence(emptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + CurrentItem = SequenceOfItems.end(); +} + + +DRTBlockSlabSequence::DRTBlockSlabSequence(const DRTBlockSlabSequence ©) + : EmptyDefaultSequence(copy.EmptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); +} + + +DRTBlockSlabSequence &DRTBlockSlabSequence::operator=(const DRTBlockSlabSequence ©) +{ + if (this != ©) + { + clear(); + EmptyDefaultSequence = copy.EmptyDefaultSequence; + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); + } + return *this; +} + + +DRTBlockSlabSequence::~DRTBlockSlabSequence() +{ + clear(); +} + + +void DRTBlockSlabSequence::clear() +{ + if (!EmptyDefaultSequence) + { + CurrentItem = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* delete all items and free memory */ + while (CurrentItem != last) + { + delete (*CurrentItem); + CurrentItem = SequenceOfItems.erase(CurrentItem); + } + /* make sure that the list is empty */ + SequenceOfItems.clear(); + CurrentItem = SequenceOfItems.end(); + } +} + + +OFBool DRTBlockSlabSequence::isEmpty() +{ + return SequenceOfItems.empty(); +} + + +OFBool DRTBlockSlabSequence::isValid() const +{ + return !EmptyDefaultSequence; +} + + +unsigned long DRTBlockSlabSequence::getNumberOfItems() const +{ + return SequenceOfItems.size(); +} + + +OFCondition DRTBlockSlabSequence::gotoFirstItem() +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + CurrentItem = SequenceOfItems.begin(); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTBlockSlabSequence::gotoNextItem() +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + ++CurrentItem; + result = EC_Normal; + } + return result; +} + + +OFCondition DRTBlockSlabSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator) +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTBlockSlabSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTBlockSlabSequence::gotoItem(const unsigned long num) +{ + return gotoItem(num, CurrentItem); +} + + +OFCondition DRTBlockSlabSequence::getCurrentItem(Item *&item) const +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + item = *CurrentItem; + result = EC_Normal; + } + return result; +} + + +DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getCurrentItem() +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +const DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getCurrentItem() const +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +OFCondition DRTBlockSlabSequence::getItem(const unsigned long num, Item *&item) +{ + OFListIterator(Item *) iterator; + OFCondition result = gotoItem(num, iterator); + if (result.good()) + item = *iterator; + return result; +} + + +DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getItem(const unsigned long num) +{ + OFListIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +const DRTBlockSlabSequence::Item &DRTBlockSlabSequence::getItem(const unsigned long num) const +{ + OFListConstIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +DRTBlockSlabSequence::Item &DRTBlockSlabSequence::operator[](const unsigned long num) +{ + return getItem(num); +} + + +const DRTBlockSlabSequence::Item &DRTBlockSlabSequence::operator[](const unsigned long num) const +{ + return getItem(num); +} + + +OFCondition DRTBlockSlabSequence::addItem(Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.push_back(item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition DRTBlockSlabSequence::insertItem(const unsigned long pos, Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + result = gotoItem(pos, iterator); + if (result.good()) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.insert(iterator, 1, item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } else + result = addItem(item); + } + return result; +} + + +OFCondition DRTBlockSlabSequence::removeItem(const unsigned long pos) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + if (gotoItem(pos, iterator).good()) + { + delete *iterator; + iterator = SequenceOfItems.erase(iterator); + result = EC_Normal; + } else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTBlockSlabSequence::read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + /* re-initialize object */ + clear(); + /* retrieve sequence element from dataset */ + DcmSequenceOfItems *sequence; + result = dataset.findAndGetSequence(DCM_BlockSlabSequence, sequence); + if (sequence != NULL) + { + if (checkElementValue(*sequence, card, type, result, moduleName)) + { + DcmStack stack; + OFBool first = OFTrue; + /* iterate over all sequence items */ + while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good()) + { + DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top()); + if (ditem != NULL) + { + Item *item = new Item(); + if (item != NULL) + { + result = item->read(*ditem); + if (result.good()) + { + /* append new item to the end of the list */ + SequenceOfItems.push_back(item); + first = OFFalse; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_CorruptedData; + } + } + } else { + DcmSequenceOfItems element(DCM_BlockSlabSequence); + checkElementValue(element, card, type, result, moduleName); + } + } + return result; +} + + +OFCondition DRTBlockSlabSequence::write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + result = EC_MemoryExhausted; + DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_BlockSlabSequence); + if (sequence != NULL) + { + result = EC_Normal; + /* an empty optional sequence is not written */ + if ((type == "2") || !SequenceOfItems.empty()) + { + OFListIterator(Item *) iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* iterate over all sequence items */ + while (result.good() && (iterator != last)) + { + DcmItem *item = new DcmItem(); + if (item != NULL) + { + /* append new item to the end of the sequence */ + result = sequence->append(item); + if (result.good()) + { + result = (*iterator)->write(*item); + ++iterator; + } else + delete item; + } else + result = EC_MemoryExhausted; + } + if (result.good()) + { + /* insert sequence element into the dataset */ + result = dataset.insert(sequence, OFTrue /*replaceOld*/); + } + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + if (result.good()) + { + /* forget reference to sequence object (avoid deletion below) */ + sequence = NULL; + } + } + else if (type == "1") + { + /* empty type 1 sequence not allowed */ + result = RT_EC_InvalidValue; + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + } + /* delete sequence (if not inserted into the dataset) */ + delete sequence; + } + } + return result; +} + + +// end of source file diff --git a/dcmrt/libsrc/drtbvcps.cc b/dcmrt/libsrc/drtbvcps.cc index ab39d1bf..271e85da 100644 --- a/dcmrt/libsrc/drtbvcps.cc +++ b/dcmrt/libsrc/drtbvcps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTBeamDoseVerificationControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -24,6 +24,7 @@ DRTBeamDoseVerificationControlPointSequence::Item::Item(const OFBool emptyDefaul AverageBeamDosePointDepth(DCM_AverageBeamDosePointDepth), AverageBeamDosePointEquivalentDepth(DCM_AverageBeamDosePointEquivalentDepth), AverageBeamDosePointSSD(DCM_AverageBeamDosePointSSD), + AverageBeamDosePointSourceToExternalContourSurfaceDistance(DCM_AverageBeamDosePointSourceToExternalContourSurfaceDistance), CumulativeMetersetWeight(DCM_CumulativeMetersetWeight), ReferencedControlPointIndex(DCM_ReferencedControlPointIndex) { @@ -35,6 +36,7 @@ DRTBeamDoseVerificationControlPointSequence::Item::Item(const Item ©) AverageBeamDosePointDepth(copy.AverageBeamDosePointDepth), AverageBeamDosePointEquivalentDepth(copy.AverageBeamDosePointEquivalentDepth), AverageBeamDosePointSSD(copy.AverageBeamDosePointSSD), + AverageBeamDosePointSourceToExternalContourSurfaceDistance(copy.AverageBeamDosePointSourceToExternalContourSurfaceDistance), CumulativeMetersetWeight(copy.CumulativeMetersetWeight), ReferencedControlPointIndex(copy.ReferencedControlPointIndex) { @@ -54,6 +56,7 @@ DRTBeamDoseVerificationControlPointSequence::Item &DRTBeamDoseVerificationContro AverageBeamDosePointDepth = copy.AverageBeamDosePointDepth; AverageBeamDosePointEquivalentDepth = copy.AverageBeamDosePointEquivalentDepth; AverageBeamDosePointSSD = copy.AverageBeamDosePointSSD; + AverageBeamDosePointSourceToExternalContourSurfaceDistance = copy.AverageBeamDosePointSourceToExternalContourSurfaceDistance; CumulativeMetersetWeight = copy.CumulativeMetersetWeight; ReferencedControlPointIndex = copy.ReferencedControlPointIndex; } @@ -71,6 +74,7 @@ void DRTBeamDoseVerificationControlPointSequence::Item::clear() AverageBeamDosePointDepth.clear(); AverageBeamDosePointEquivalentDepth.clear(); AverageBeamDosePointSSD.clear(); + AverageBeamDosePointSourceToExternalContourSurfaceDistance.clear(); } } @@ -81,7 +85,8 @@ OFBool DRTBeamDoseVerificationControlPointSequence::Item::isEmpty() ReferencedControlPointIndex.isEmpty() && AverageBeamDosePointDepth.isEmpty() && AverageBeamDosePointEquivalentDepth.isEmpty() && - AverageBeamDosePointSSD.isEmpty(); + AverageBeamDosePointSSD.isEmpty() && + AverageBeamDosePointSourceToExternalContourSurfaceDistance.isEmpty(); } @@ -103,6 +108,7 @@ OFCondition DRTBeamDoseVerificationControlPointSequence::Item::read(DcmItem &ite getAndCheckElementFromDataset(item, AverageBeamDosePointDepth, "1", "2C", "BeamDoseVerificationControlPointSequence"); getAndCheckElementFromDataset(item, AverageBeamDosePointEquivalentDepth, "1", "2C", "BeamDoseVerificationControlPointSequence"); getAndCheckElementFromDataset(item, AverageBeamDosePointSSD, "1", "2C", "BeamDoseVerificationControlPointSequence"); + getAndCheckElementFromDataset(item, AverageBeamDosePointSourceToExternalContourSurfaceDistance, "1", "3", "BeamDoseVerificationControlPointSequence"); result = EC_Normal; } return result; @@ -120,6 +126,7 @@ OFCondition DRTBeamDoseVerificationControlPointSequence::Item::write(DcmItem &it addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointDepth), "1", "2C", "BeamDoseVerificationControlPointSequence"); addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointEquivalentDepth), "1", "2C", "BeamDoseVerificationControlPointSequence"); addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointSSD), "1", "2C", "BeamDoseVerificationControlPointSequence"); + addElementToDataset(result, item, new DcmFloatingPointSingle(AverageBeamDosePointSourceToExternalContourSurfaceDistance), "1", "3", "BeamDoseVerificationControlPointSequence"); } return result; } @@ -152,6 +159,15 @@ OFCondition DRTBeamDoseVerificationControlPointSequence::Item::getAverageBeamDos } +OFCondition DRTBeamDoseVerificationControlPointSequence::Item::getAverageBeamDosePointSourceToExternalContourSurfaceDistance(Float32 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmFloatingPointSingle &, AverageBeamDosePointSourceToExternalContourSurfaceDistance).getFloat32(value, pos); +} + + OFCondition DRTBeamDoseVerificationControlPointSequence::Item::getCumulativeMetersetWeight(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -215,6 +231,15 @@ OFCondition DRTBeamDoseVerificationControlPointSequence::Item::setAverageBeamDos } +OFCondition DRTBeamDoseVerificationControlPointSequence::Item::setAverageBeamDosePointSourceToExternalContourSurfaceDistance(const Float32 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return AverageBeamDosePointSourceToExternalContourSurfaceDistance.putFloat32(value, pos); +} + + OFCondition DRTBeamDoseVerificationControlPointSequence::Item::setCumulativeMetersetWeight(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtcbars.cc b/dcmrt/libsrc/drtcbars.cc index 65c6b1c7..bc815f02 100644 --- a/dcmrt/libsrc/drtcbars.cc +++ b/dcmrt/libsrc/drtcbars.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTContrastBolusAdministrationRouteSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -32,7 +32,11 @@ DRTContrastBolusAdministrationRouteSequence::Item::Item(const OFBool emptyDefaul ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -50,7 +54,11 @@ DRTContrastBolusAdministrationRouteSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -76,7 +84,11 @@ DRTContrastBolusAdministrationRouteSequence::Item &DRTContrastBolusAdministratio ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -91,9 +103,13 @@ void DRTContrastBolusAdministrationRouteSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -109,9 +125,13 @@ OFBool DRTContrastBolusAdministrationRouteSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -133,13 +153,17 @@ OFCondition DRTContrastBolusAdministrationRouteSequence::Item::read(DcmItem &ite { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ContrastBolusAdministrationRouteSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ContrastBolusAdministrationRouteSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ContrastBolusAdministrationRouteSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ContrastBolusAdministrationRouteSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ContrastBolusAdministrationRouteSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ContrastBolusAdministrationRouteSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ContrastBolusAdministrationRouteSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ContrastBolusAdministrationRouteSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ContrastBolusAdministrationRouteSequence"); @@ -157,13 +181,17 @@ OFCondition DRTContrastBolusAdministrationRouteSequence::Item::write(DcmItem &it if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ContrastBolusAdministrationRouteSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ContrastBolusAdministrationRouteSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ContrastBolusAdministrationRouteSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ContrastBolusAdministrationRouteSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ContrastBolusAdministrationRouteSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ContrastBolusAdministrationRouteSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ContrastBolusAdministrationRouteSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ContrastBolusAdministrationRouteSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ContrastBolusAdministrationRouteSequence"); @@ -264,6 +292,15 @@ OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getContextUID(OFS } +OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -273,6 +310,24 @@ OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getMappingResourc } +OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTContrastBolusAdministrationRouteSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -403,6 +458,19 @@ OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setContextUID(con } +OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -416,6 +484,32 @@ OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setMappingResourc } +OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTContrastBolusAdministrationRouteSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTContrastBolusAdministrationRouteSequence::DRTContrastBolusAdministrationRouteSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtccs.cc b/dcmrt/libsrc/drtccs.cc index e6512cd6..979f490e 100644 --- a/dcmrt/libsrc/drtccs.cc +++ b/dcmrt/libsrc/drtccs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTConceptCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTConceptCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTConceptCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTConceptCodeSequence::Item &DRTConceptCodeSequence::Item::operator=(const Item ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTConceptCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTConceptCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTConceptCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ConceptCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ConceptCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ConceptCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ConceptCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ConceptCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ConceptCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ConceptCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ConceptCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ConceptCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTConceptCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ConceptCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ConceptCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ConceptCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ConceptCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ConceptCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ConceptCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ConceptCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ConceptCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ConceptCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTConceptCodeSequence::Item::getContextUID(OFString &value, const s } +OFCondition DRTConceptCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTConceptCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTConceptCodeSequence::Item::getMappingResource(OFString &value, co } +OFCondition DRTConceptCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTConceptCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTConceptCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTConceptCodeSequence::Item::setContextUID(const OFString &value, c } +OFCondition DRTConceptCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTConceptCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTConceptCodeSequence::Item::setMappingResource(const OFString &val } +OFCondition DRTConceptCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTConceptCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTConceptCodeSequence::DRTConceptCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtcctus.cc b/dcmrt/libsrc/drtcctus.cc index 878f37b8..731881ad 100644 --- a/dcmrt/libsrc/drtcctus.cc +++ b/dcmrt/libsrc/drtcctus.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTConsentForClinicalTrialUseSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcdrs.cc b/dcmrt/libsrc/drtcdrs.cc index 05f2d111..5ffe6cfc 100644 --- a/dcmrt/libsrc/drtcdrs.cc +++ b/dcmrt/libsrc/drtcdrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTCalculatedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtces.cc b/dcmrt/libsrc/drtces.cc index 13d7fd8a..a0cee02d 100644 --- a/dcmrt/libsrc/drtces.cc +++ b/dcmrt/libsrc/drtces.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTContributingEquipmentSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtchs.cc b/dcmrt/libsrc/drtchs.cc index 18798332..a216b012 100644 --- a/dcmrt/libsrc/drtchs.cc +++ b/dcmrt/libsrc/drtchs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTChannelSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcims.cc b/dcmrt/libsrc/drtcims.cc index afc07ab2..d02068df 100644 --- a/dcmrt/libsrc/drtcims.cc +++ b/dcmrt/libsrc/drtcims.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTContentItemModifierSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcis.cc b/dcmrt/libsrc/drtcis.cc index 057d127e..db289e69 100644 --- a/dcmrt/libsrc/drtcis.cc +++ b/dcmrt/libsrc/drtcis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTContourImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcncs.cc b/dcmrt/libsrc/drtcncs.cc index add98f87..39866644 100644 --- a/dcmrt/libsrc/drtcncs.cc +++ b/dcmrt/libsrc/drtcncs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTConceptNameCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTConceptNameCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTConceptNameCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTConceptNameCodeSequence::Item &DRTConceptNameCodeSequence::Item::operator=(co ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTConceptNameCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTConceptNameCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTConceptNameCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ConceptNameCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ConceptNameCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ConceptNameCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ConceptNameCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ConceptNameCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ConceptNameCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ConceptNameCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ConceptNameCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ConceptNameCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTConceptNameCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ConceptNameCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ConceptNameCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ConceptNameCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ConceptNameCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ConceptNameCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ConceptNameCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ConceptNameCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ConceptNameCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ConceptNameCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTConceptNameCodeSequence::Item::getContextUID(OFString &value, con } +OFCondition DRTConceptNameCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTConceptNameCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTConceptNameCodeSequence::Item::getMappingResource(OFString &value } +OFCondition DRTConceptNameCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTConceptNameCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTConceptNameCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTConceptNameCodeSequence::Item::setContextUID(const OFString &valu } +OFCondition DRTConceptNameCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTConceptNameCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTConceptNameCodeSequence::Item::setMappingResource(const OFString } +OFCondition DRTConceptNameCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTConceptNameCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTConceptNameCodeSequence::DRTConceptNameCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtcos.cc b/dcmrt/libsrc/drtcos.cc index 4dae5fb8..d2b31cf3 100644 --- a/dcmrt/libsrc/drtcos.cc +++ b/dcmrt/libsrc/drtcos.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTCompensatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcpas.cc b/dcmrt/libsrc/drtcpas.cc index fc837c90..09b601ce 100644 --- a/dcmrt/libsrc/drtcpas.cc +++ b/dcmrt/libsrc/drtcpas.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTCorrectedParameterSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcpis.cc b/dcmrt/libsrc/drtcpis.cc new file mode 100644 index 00000000..8ca6f86f --- /dev/null +++ b/dcmrt/libsrc/drtcpis.cc @@ -0,0 +1,674 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class DRTConsultingPhysicianIdentificationSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/dcmrt/seq/drtcpis.h" + + +// --- item class --- + +DRTConsultingPhysicianIdentificationSequence::Item::Item(const OFBool emptyDefaultItem) + : EmptyDefaultItem(emptyDefaultItem), + InstitutionAddress(DCM_InstitutionAddress), + InstitutionCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + InstitutionName(DCM_InstitutionName), + PersonAddress(DCM_PersonAddress), + PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + PersonTelecomInformation(DCM_PersonTelecomInformation), + PersonTelephoneNumbers(DCM_PersonTelephoneNumbers) +{ +} + + +DRTConsultingPhysicianIdentificationSequence::Item::Item(const Item ©) + : EmptyDefaultItem(copy.EmptyDefaultItem), + InstitutionAddress(copy.InstitutionAddress), + InstitutionCodeSequence(copy.InstitutionCodeSequence), + InstitutionName(copy.InstitutionName), + PersonAddress(copy.PersonAddress), + PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence), + PersonTelecomInformation(copy.PersonTelecomInformation), + PersonTelephoneNumbers(copy.PersonTelephoneNumbers) +{ +} + + +DRTConsultingPhysicianIdentificationSequence::Item::~Item() +{ +} + + +DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::Item::operator=(const Item ©) +{ + if (this != ©) + { + EmptyDefaultItem = copy.EmptyDefaultItem; + InstitutionAddress = copy.InstitutionAddress; + InstitutionCodeSequence = copy.InstitutionCodeSequence; + InstitutionName = copy.InstitutionName; + PersonAddress = copy.PersonAddress; + PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence; + PersonTelecomInformation = copy.PersonTelecomInformation; + PersonTelephoneNumbers = copy.PersonTelephoneNumbers; + } + return *this; +} + + +void DRTConsultingPhysicianIdentificationSequence::Item::clear() +{ + if (!EmptyDefaultItem) + { + /* clear all DICOM attributes */ + PersonIdentificationCodeSequence.clear(); + PersonAddress.clear(); + PersonTelephoneNumbers.clear(); + PersonTelecomInformation.clear(); + InstitutionName.clear(); + InstitutionAddress.clear(); + InstitutionCodeSequence.clear(); + } +} + + +OFBool DRTConsultingPhysicianIdentificationSequence::Item::isEmpty() +{ + return PersonIdentificationCodeSequence.isEmpty() && + PersonAddress.isEmpty() && + PersonTelephoneNumbers.isEmpty() && + PersonTelecomInformation.isEmpty() && + InstitutionName.isEmpty() && + InstitutionAddress.isEmpty() && + InstitutionCodeSequence.isEmpty(); +} + + +OFBool DRTConsultingPhysicianIdentificationSequence::Item::isValid() const +{ + return !EmptyDefaultItem; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::read(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + /* re-initialize object */ + clear(); + PersonIdentificationCodeSequence.read(item, "1-n", "1", "ConsultingPhysicianIdentificationSequence"); + getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "ConsultingPhysicianIdentificationSequence"); + getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "ConsultingPhysicianIdentificationSequence"); + getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "ConsultingPhysicianIdentificationSequence"); + getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "ConsultingPhysicianIdentificationSequence"); + getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "ConsultingPhysicianIdentificationSequence"); + InstitutionCodeSequence.read(item, "1-n", "1C", "ConsultingPhysicianIdentificationSequence"); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::write(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = EC_Normal; + if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "ConsultingPhysicianIdentificationSequence"); + addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "ConsultingPhysicianIdentificationSequence"); + addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "ConsultingPhysicianIdentificationSequence"); + addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "ConsultingPhysicianIdentificationSequence"); + addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "ConsultingPhysicianIdentificationSequence"); + addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "ConsultingPhysicianIdentificationSequence"); + if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "ConsultingPhysicianIdentificationSequence"); + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getInstitutionAddress(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(InstitutionAddress, value, pos); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getInstitutionName(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(InstitutionName, value, pos); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getPersonAddress(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonAddress, value, pos); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonTelecomInformation, value, pos); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonTelephoneNumbers, value, pos); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setInstitutionAddress(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = InstitutionAddress.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setInstitutionName(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = InstitutionName.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setPersonAddress(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmShortText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = PersonAddress.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = PersonTelecomInformation.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongString::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = PersonTelephoneNumbers.putOFStringArray(value); + } + return result; +} + + +// --- sequence class --- + +DRTConsultingPhysicianIdentificationSequence::DRTConsultingPhysicianIdentificationSequence(const OFBool emptyDefaultSequence) + : EmptyDefaultSequence(emptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + CurrentItem = SequenceOfItems.end(); +} + + +DRTConsultingPhysicianIdentificationSequence::DRTConsultingPhysicianIdentificationSequence(const DRTConsultingPhysicianIdentificationSequence ©) + : EmptyDefaultSequence(copy.EmptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); +} + + +DRTConsultingPhysicianIdentificationSequence &DRTConsultingPhysicianIdentificationSequence::operator=(const DRTConsultingPhysicianIdentificationSequence ©) +{ + if (this != ©) + { + clear(); + EmptyDefaultSequence = copy.EmptyDefaultSequence; + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); + } + return *this; +} + + +DRTConsultingPhysicianIdentificationSequence::~DRTConsultingPhysicianIdentificationSequence() +{ + clear(); +} + + +void DRTConsultingPhysicianIdentificationSequence::clear() +{ + if (!EmptyDefaultSequence) + { + CurrentItem = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* delete all items and free memory */ + while (CurrentItem != last) + { + delete (*CurrentItem); + CurrentItem = SequenceOfItems.erase(CurrentItem); + } + /* make sure that the list is empty */ + SequenceOfItems.clear(); + CurrentItem = SequenceOfItems.end(); + } +} + + +OFBool DRTConsultingPhysicianIdentificationSequence::isEmpty() +{ + return SequenceOfItems.empty(); +} + + +OFBool DRTConsultingPhysicianIdentificationSequence::isValid() const +{ + return !EmptyDefaultSequence; +} + + +unsigned long DRTConsultingPhysicianIdentificationSequence::getNumberOfItems() const +{ + return SequenceOfItems.size(); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::gotoFirstItem() +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + CurrentItem = SequenceOfItems.begin(); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::gotoNextItem() +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + ++CurrentItem; + result = EC_Normal; + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator) +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::gotoItem(const unsigned long num) +{ + return gotoItem(num, CurrentItem); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::getCurrentItem(Item *&item) const +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + item = *CurrentItem; + result = EC_Normal; + } + return result; +} + + +DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getCurrentItem() +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +const DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getCurrentItem() const +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::getItem(const unsigned long num, Item *&item) +{ + OFListIterator(Item *) iterator; + OFCondition result = gotoItem(num, iterator); + if (result.good()) + item = *iterator; + return result; +} + + +DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getItem(const unsigned long num) +{ + OFListIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +const DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::getItem(const unsigned long num) const +{ + OFListConstIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::operator[](const unsigned long num) +{ + return getItem(num); +} + + +const DRTConsultingPhysicianIdentificationSequence::Item &DRTConsultingPhysicianIdentificationSequence::operator[](const unsigned long num) const +{ + return getItem(num); +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::addItem(Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.push_back(item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::insertItem(const unsigned long pos, Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + result = gotoItem(pos, iterator); + if (result.good()) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.insert(iterator, 1, item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } else + result = addItem(item); + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::removeItem(const unsigned long pos) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + if (gotoItem(pos, iterator).good()) + { + delete *iterator; + iterator = SequenceOfItems.erase(iterator); + result = EC_Normal; + } else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + /* re-initialize object */ + clear(); + /* retrieve sequence element from dataset */ + DcmSequenceOfItems *sequence; + result = dataset.findAndGetSequence(DCM_ConsultingPhysicianIdentificationSequence, sequence); + if (sequence != NULL) + { + if (checkElementValue(*sequence, card, type, result, moduleName)) + { + DcmStack stack; + OFBool first = OFTrue; + /* iterate over all sequence items */ + while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good()) + { + DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top()); + if (ditem != NULL) + { + Item *item = new Item(); + if (item != NULL) + { + result = item->read(*ditem); + if (result.good()) + { + /* append new item to the end of the list */ + SequenceOfItems.push_back(item); + first = OFFalse; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_CorruptedData; + } + } + } else { + DcmSequenceOfItems element(DCM_ConsultingPhysicianIdentificationSequence); + checkElementValue(element, card, type, result, moduleName); + } + } + return result; +} + + +OFCondition DRTConsultingPhysicianIdentificationSequence::write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + result = EC_MemoryExhausted; + DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_ConsultingPhysicianIdentificationSequence); + if (sequence != NULL) + { + result = EC_Normal; + /* an empty optional sequence is not written */ + if ((type == "2") || !SequenceOfItems.empty()) + { + OFListIterator(Item *) iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* iterate over all sequence items */ + while (result.good() && (iterator != last)) + { + DcmItem *item = new DcmItem(); + if (item != NULL) + { + /* append new item to the end of the sequence */ + result = sequence->append(item); + if (result.good()) + { + result = (*iterator)->write(*item); + ++iterator; + } else + delete item; + } else + result = EC_MemoryExhausted; + } + if (result.good()) + { + /* insert sequence element into the dataset */ + result = dataset.insert(sequence, OFTrue /*replaceOld*/); + } + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + if (result.good()) + { + /* forget reference to sequence object (avoid deletion below) */ + sequence = NULL; + } + } + else if (type == "1") + { + /* empty type 1 sequence not allowed */ + result = RT_EC_InvalidValue; + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + } + /* delete sequence (if not inserted into the dataset) */ + delete sequence; + } + } + return result; +} + + +// end of source file diff --git a/dcmrt/libsrc/drtcps.cc b/dcmrt/libsrc/drtcps.cc index 259c96c8..c3d295a1 100644 --- a/dcmrt/libsrc/drtcps.cc +++ b/dcmrt/libsrc/drtcps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -27,6 +27,7 @@ DRTControlPointSequence::Item::Item(const OFBool emptyDefaultItem) ControlPointIndex(DCM_ControlPointIndex), CumulativeMetersetWeight(DCM_CumulativeMetersetWeight), DoseRateSet(DCM_DoseRateSet), + ExternalContourEntryPoint(DCM_ExternalContourEntryPoint), GantryAngle(DCM_GantryAngle), GantryPitchAngle(DCM_GantryPitchAngle), GantryPitchRotationDirection(DCM_GantryPitchRotationDirection), @@ -37,6 +38,7 @@ DRTControlPointSequence::Item::Item(const OFBool emptyDefaultItem) PatientSupportRotationDirection(DCM_PatientSupportRotationDirection), ReferencedDoseReferenceSequence(emptyDefaultItem /*emptyDefaultSequence*/), ReferencedDoseSequence(emptyDefaultItem /*emptyDefaultSequence*/), + SourceToExternalContourDistance(DCM_SourceToExternalContourDistance), SourceToSurfaceDistance(DCM_SourceToSurfaceDistance), SurfaceEntryPoint(DCM_SurfaceEntryPoint), TableTopEccentricAngle(DCM_TableTopEccentricAngle), @@ -62,6 +64,7 @@ DRTControlPointSequence::Item::Item(const Item ©) ControlPointIndex(copy.ControlPointIndex), CumulativeMetersetWeight(copy.CumulativeMetersetWeight), DoseRateSet(copy.DoseRateSet), + ExternalContourEntryPoint(copy.ExternalContourEntryPoint), GantryAngle(copy.GantryAngle), GantryPitchAngle(copy.GantryPitchAngle), GantryPitchRotationDirection(copy.GantryPitchRotationDirection), @@ -72,6 +75,7 @@ DRTControlPointSequence::Item::Item(const Item ©) PatientSupportRotationDirection(copy.PatientSupportRotationDirection), ReferencedDoseReferenceSequence(copy.ReferencedDoseReferenceSequence), ReferencedDoseSequence(copy.ReferencedDoseSequence), + SourceToExternalContourDistance(copy.SourceToExternalContourDistance), SourceToSurfaceDistance(copy.SourceToSurfaceDistance), SurfaceEntryPoint(copy.SurfaceEntryPoint), TableTopEccentricAngle(copy.TableTopEccentricAngle), @@ -105,6 +109,7 @@ DRTControlPointSequence::Item &DRTControlPointSequence::Item::operator=(const It ControlPointIndex = copy.ControlPointIndex; CumulativeMetersetWeight = copy.CumulativeMetersetWeight; DoseRateSet = copy.DoseRateSet; + ExternalContourEntryPoint = copy.ExternalContourEntryPoint; GantryAngle = copy.GantryAngle; GantryPitchAngle = copy.GantryPitchAngle; GantryPitchRotationDirection = copy.GantryPitchRotationDirection; @@ -115,6 +120,7 @@ DRTControlPointSequence::Item &DRTControlPointSequence::Item::operator=(const It PatientSupportRotationDirection = copy.PatientSupportRotationDirection; ReferencedDoseReferenceSequence = copy.ReferencedDoseReferenceSequence; ReferencedDoseSequence = copy.ReferencedDoseSequence; + SourceToExternalContourDistance = copy.SourceToExternalContourDistance; SourceToSurfaceDistance = copy.SourceToSurfaceDistance; SurfaceEntryPoint = copy.SurfaceEntryPoint; TableTopEccentricAngle = copy.TableTopEccentricAngle; @@ -166,7 +172,9 @@ void DRTControlPointSequence::Item::clear() TableTopLateralPosition.clear(); IsocenterPosition.clear(); SurfaceEntryPoint.clear(); + ExternalContourEntryPoint.clear(); SourceToSurfaceDistance.clear(); + SourceToExternalContourDistance.clear(); } } @@ -201,7 +209,9 @@ OFBool DRTControlPointSequence::Item::isEmpty() TableTopLateralPosition.isEmpty() && IsocenterPosition.isEmpty() && SurfaceEntryPoint.isEmpty() && - SourceToSurfaceDistance.isEmpty(); + ExternalContourEntryPoint.isEmpty() && + SourceToSurfaceDistance.isEmpty() && + SourceToExternalContourDistance.isEmpty(); } @@ -246,7 +256,9 @@ OFCondition DRTControlPointSequence::Item::read(DcmItem &item) getAndCheckElementFromDataset(item, TableTopLateralPosition, "1", "2C", "ControlPointSequence"); getAndCheckElementFromDataset(item, IsocenterPosition, "3", "2C", "ControlPointSequence"); getAndCheckElementFromDataset(item, SurfaceEntryPoint, "3", "3", "ControlPointSequence"); + getAndCheckElementFromDataset(item, ExternalContourEntryPoint, "3", "3", "ControlPointSequence"); getAndCheckElementFromDataset(item, SourceToSurfaceDistance, "1", "3", "ControlPointSequence"); + getAndCheckElementFromDataset(item, SourceToExternalContourDistance, "1", "3", "ControlPointSequence"); result = EC_Normal; } return result; @@ -287,7 +299,9 @@ OFCondition DRTControlPointSequence::Item::write(DcmItem &item) addElementToDataset(result, item, new DcmDecimalString(TableTopLateralPosition), "1", "2C", "ControlPointSequence"); addElementToDataset(result, item, new DcmDecimalString(IsocenterPosition), "3", "2C", "ControlPointSequence"); addElementToDataset(result, item, new DcmDecimalString(SurfaceEntryPoint), "3", "3", "ControlPointSequence"); + addElementToDataset(result, item, new DcmFloatingPointSingle(ExternalContourEntryPoint), "3", "3", "ControlPointSequence"); addElementToDataset(result, item, new DcmDecimalString(SourceToSurfaceDistance), "1", "3", "ControlPointSequence"); + addElementToDataset(result, item, new DcmFloatingPointSingle(SourceToExternalContourDistance), "1", "3", "ControlPointSequence"); } return result; } @@ -374,6 +388,15 @@ OFCondition DRTControlPointSequence::Item::getDoseRateSet(Float64 &value, const } +OFCondition DRTControlPointSequence::Item::getExternalContourEntryPoint(Float32 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmFloatingPointSingle &, ExternalContourEntryPoint).getFloat32(value, pos); +} + + OFCondition DRTControlPointSequence::Item::getGantryAngle(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -491,6 +514,15 @@ OFCondition DRTControlPointSequence::Item::getPatientSupportRotationDirection(OF } +OFCondition DRTControlPointSequence::Item::getSourceToExternalContourDistance(Float32 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmFloatingPointSingle &, SourceToExternalContourDistance).getFloat32(value, pos); +} + + OFCondition DRTControlPointSequence::Item::getSourceToSurfaceDistance(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -736,6 +768,15 @@ OFCondition DRTControlPointSequence::Item::setDoseRateSet(const OFString &value, } +OFCondition DRTControlPointSequence::Item::setExternalContourEntryPoint(const Float32 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return ExternalContourEntryPoint.putFloat32(value, pos); +} + + OFCondition DRTControlPointSequence::Item::setGantryAngle(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -836,6 +877,15 @@ OFCondition DRTControlPointSequence::Item::setPatientSupportRotationDirection(co } +OFCondition DRTControlPointSequence::Item::setSourceToExternalContourDistance(const Float32 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return SourceToExternalContourDistance.putFloat32(value, pos); +} + + OFCondition DRTControlPointSequence::Item::setSourceToSurfaceDistance(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtcs.cc b/dcmrt/libsrc/drtcs.cc index 63800395..c39b275c 100644 --- a/dcmrt/libsrc/drtcs.cc +++ b/dcmrt/libsrc/drtcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTContourSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcsas.cc b/dcmrt/libsrc/drtcsas.cc index 3c92fb96..c9bb6d26 100644 --- a/dcmrt/libsrc/drtcsas.cc +++ b/dcmrt/libsrc/drtcsas.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTConversionSourceAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcshs.cc b/dcmrt/libsrc/drtcshs.cc index ac20c08e..4fc8d7be 100644 --- a/dcmrt/libsrc/drtcshs.cc +++ b/dcmrt/libsrc/drtcshs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTChannelShieldSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcsis.cc b/dcmrt/libsrc/drtcsis.cc index e8714da6..7504daff 100644 --- a/dcmrt/libsrc/drtcsis.cc +++ b/dcmrt/libsrc/drtcsis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTCodingSchemeIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtcss.cc b/dcmrt/libsrc/drtcss.cc index c57209e7..6e2b1e40 100644 --- a/dcmrt/libsrc/drtcss.cc +++ b/dcmrt/libsrc/drtcss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTChannelSourceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTChannelSourceSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTChannelSourceSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTChannelSourceSequence::Item &DRTChannelSourceSequence::Item::operator=(const ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTChannelSourceSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTChannelSourceSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTChannelSourceSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ChannelSourceSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ChannelSourceSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ChannelSourceSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ChannelSourceSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ChannelSourceSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ChannelSourceSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ChannelSourceSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ChannelSourceSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ChannelSourceSequence"); @@ -151,13 +175,17 @@ OFCondition DRTChannelSourceSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ChannelSourceSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ChannelSourceSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ChannelSourceSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ChannelSourceSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ChannelSourceSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ChannelSourceSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ChannelSourceSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ChannelSourceSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ChannelSourceSequence"); @@ -257,6 +285,15 @@ OFCondition DRTChannelSourceSequence::Item::getContextUID(OFString &value, const } +OFCondition DRTChannelSourceSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTChannelSourceSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTChannelSourceSequence::Item::getMappingResource(OFString &value, } +OFCondition DRTChannelSourceSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTChannelSourceSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTChannelSourceSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTChannelSourceSequence::Item::setContextUID(const OFString &value, } +OFCondition DRTChannelSourceSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTChannelSourceSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTChannelSourceSequence::Item::setMappingResource(const OFString &v } +OFCondition DRTChannelSourceSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTChannelSourceSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTChannelSourceSequence::DRTChannelSourceSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtdcs.cc b/dcmrt/libsrc/drtdcs.cc index fe2503b5..736bd6d3 100644 --- a/dcmrt/libsrc/drtdcs.cc +++ b/dcmrt/libsrc/drtdcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDerivationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTDerivationCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTDerivationCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTDerivationCodeSequence::Item &DRTDerivationCodeSequence::Item::operator=(cons ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTDerivationCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTDerivationCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTDerivationCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DerivationCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DerivationCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DerivationCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DerivationCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DerivationCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DerivationCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DerivationCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DerivationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DerivationCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTDerivationCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DerivationCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DerivationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DerivationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DerivationCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DerivationCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DerivationCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DerivationCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DerivationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DerivationCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTDerivationCodeSequence::Item::getContextUID(OFString &value, cons } +OFCondition DRTDerivationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTDerivationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTDerivationCodeSequence::Item::getMappingResource(OFString &value, } +OFCondition DRTDerivationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTDerivationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTDerivationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTDerivationCodeSequence::Item::setContextUID(const OFString &value } +OFCondition DRTDerivationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTDerivationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTDerivationCodeSequence::Item::setMappingResource(const OFString & } +OFCondition DRTDerivationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTDerivationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTDerivationCodeSequence::DRTDerivationCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtdias.cc b/dcmrt/libsrc/drtdias.cc new file mode 100644 index 00000000..70d3afba --- /dev/null +++ b/dcmrt/libsrc/drtdias.cc @@ -0,0 +1,569 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class DRTDeidentificationActionSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/dcmrt/seq/drtdias.h" + + +// --- item class --- + +DRTDeidentificationActionSequence::Item::Item(const OFBool emptyDefaultItem) + : EmptyDefaultItem(emptyDefaultItem), + DeidentificationAction(DCM_DeidentificationAction), + IdentifyingPrivateElements(DCM_IdentifyingPrivateElements) +{ +} + + +DRTDeidentificationActionSequence::Item::Item(const Item ©) + : EmptyDefaultItem(copy.EmptyDefaultItem), + DeidentificationAction(copy.DeidentificationAction), + IdentifyingPrivateElements(copy.IdentifyingPrivateElements) +{ +} + + +DRTDeidentificationActionSequence::Item::~Item() +{ +} + + +DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::Item::operator=(const Item ©) +{ + if (this != ©) + { + EmptyDefaultItem = copy.EmptyDefaultItem; + DeidentificationAction = copy.DeidentificationAction; + IdentifyingPrivateElements = copy.IdentifyingPrivateElements; + } + return *this; +} + + +void DRTDeidentificationActionSequence::Item::clear() +{ + if (!EmptyDefaultItem) + { + /* clear all DICOM attributes */ + IdentifyingPrivateElements.clear(); + DeidentificationAction.clear(); + } +} + + +OFBool DRTDeidentificationActionSequence::Item::isEmpty() +{ + return IdentifyingPrivateElements.isEmpty() && + DeidentificationAction.isEmpty(); +} + + +OFBool DRTDeidentificationActionSequence::Item::isValid() const +{ + return !EmptyDefaultItem; +} + + +OFCondition DRTDeidentificationActionSequence::Item::read(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + /* re-initialize object */ + clear(); + getAndCheckElementFromDataset(item, IdentifyingPrivateElements, "1-n", "1", "DeidentificationActionSequence"); + getAndCheckElementFromDataset(item, DeidentificationAction, "1", "1", "DeidentificationActionSequence"); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::Item::write(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = EC_Normal; + addElementToDataset(result, item, new DcmUnsignedShort(IdentifyingPrivateElements), "1-n", "1", "DeidentificationActionSequence"); + addElementToDataset(result, item, new DcmCodeString(DeidentificationAction), "1", "1", "DeidentificationActionSequence"); + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::Item::getDeidentificationAction(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(DeidentificationAction, value, pos); +} + + +OFCondition DRTDeidentificationActionSequence::Item::getIdentifyingPrivateElements(Uint16 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmUnsignedShort &, IdentifyingPrivateElements).getUint16(value, pos); +} + + +OFCondition DRTDeidentificationActionSequence::Item::setDeidentificationAction(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = DeidentificationAction.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::Item::setIdentifyingPrivateElements(const Uint16 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return IdentifyingPrivateElements.putUint16(value, pos); +} + + +// --- sequence class --- + +DRTDeidentificationActionSequence::DRTDeidentificationActionSequence(const OFBool emptyDefaultSequence) + : EmptyDefaultSequence(emptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + CurrentItem = SequenceOfItems.end(); +} + + +DRTDeidentificationActionSequence::DRTDeidentificationActionSequence(const DRTDeidentificationActionSequence ©) + : EmptyDefaultSequence(copy.EmptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); +} + + +DRTDeidentificationActionSequence &DRTDeidentificationActionSequence::operator=(const DRTDeidentificationActionSequence ©) +{ + if (this != ©) + { + clear(); + EmptyDefaultSequence = copy.EmptyDefaultSequence; + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); + } + return *this; +} + + +DRTDeidentificationActionSequence::~DRTDeidentificationActionSequence() +{ + clear(); +} + + +void DRTDeidentificationActionSequence::clear() +{ + if (!EmptyDefaultSequence) + { + CurrentItem = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* delete all items and free memory */ + while (CurrentItem != last) + { + delete (*CurrentItem); + CurrentItem = SequenceOfItems.erase(CurrentItem); + } + /* make sure that the list is empty */ + SequenceOfItems.clear(); + CurrentItem = SequenceOfItems.end(); + } +} + + +OFBool DRTDeidentificationActionSequence::isEmpty() +{ + return SequenceOfItems.empty(); +} + + +OFBool DRTDeidentificationActionSequence::isValid() const +{ + return !EmptyDefaultSequence; +} + + +unsigned long DRTDeidentificationActionSequence::getNumberOfItems() const +{ + return SequenceOfItems.size(); +} + + +OFCondition DRTDeidentificationActionSequence::gotoFirstItem() +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + CurrentItem = SequenceOfItems.begin(); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::gotoNextItem() +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + ++CurrentItem; + result = EC_Normal; + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator) +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::gotoItem(const unsigned long num) +{ + return gotoItem(num, CurrentItem); +} + + +OFCondition DRTDeidentificationActionSequence::getCurrentItem(Item *&item) const +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + item = *CurrentItem; + result = EC_Normal; + } + return result; +} + + +DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getCurrentItem() +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +const DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getCurrentItem() const +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +OFCondition DRTDeidentificationActionSequence::getItem(const unsigned long num, Item *&item) +{ + OFListIterator(Item *) iterator; + OFCondition result = gotoItem(num, iterator); + if (result.good()) + item = *iterator; + return result; +} + + +DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getItem(const unsigned long num) +{ + OFListIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +const DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::getItem(const unsigned long num) const +{ + OFListConstIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::operator[](const unsigned long num) +{ + return getItem(num); +} + + +const DRTDeidentificationActionSequence::Item &DRTDeidentificationActionSequence::operator[](const unsigned long num) const +{ + return getItem(num); +} + + +OFCondition DRTDeidentificationActionSequence::addItem(Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.push_back(item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::insertItem(const unsigned long pos, Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + result = gotoItem(pos, iterator); + if (result.good()) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.insert(iterator, 1, item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } else + result = addItem(item); + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::removeItem(const unsigned long pos) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + if (gotoItem(pos, iterator).good()) + { + delete *iterator; + iterator = SequenceOfItems.erase(iterator); + result = EC_Normal; + } else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + /* re-initialize object */ + clear(); + /* retrieve sequence element from dataset */ + DcmSequenceOfItems *sequence; + result = dataset.findAndGetSequence(DCM_DeidentificationActionSequence, sequence); + if (sequence != NULL) + { + if (checkElementValue(*sequence, card, type, result, moduleName)) + { + DcmStack stack; + OFBool first = OFTrue; + /* iterate over all sequence items */ + while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good()) + { + DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top()); + if (ditem != NULL) + { + Item *item = new Item(); + if (item != NULL) + { + result = item->read(*ditem); + if (result.good()) + { + /* append new item to the end of the list */ + SequenceOfItems.push_back(item); + first = OFFalse; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_CorruptedData; + } + } + } else { + DcmSequenceOfItems element(DCM_DeidentificationActionSequence); + checkElementValue(element, card, type, result, moduleName); + } + } + return result; +} + + +OFCondition DRTDeidentificationActionSequence::write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + result = EC_MemoryExhausted; + DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_DeidentificationActionSequence); + if (sequence != NULL) + { + result = EC_Normal; + /* an empty optional sequence is not written */ + if ((type == "2") || !SequenceOfItems.empty()) + { + OFListIterator(Item *) iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* iterate over all sequence items */ + while (result.good() && (iterator != last)) + { + DcmItem *item = new DcmItem(); + if (item != NULL) + { + /* append new item to the end of the sequence */ + result = sequence->append(item); + if (result.good()) + { + result = (*iterator)->write(*item); + ++iterator; + } else + delete item; + } else + result = EC_MemoryExhausted; + } + if (result.good()) + { + /* insert sequence element into the dataset */ + result = dataset.insert(sequence, OFTrue /*replaceOld*/); + } + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + if (result.good()) + { + /* forget reference to sequence object (avoid deletion below) */ + sequence = NULL; + } + } + else if (type == "1") + { + /* empty type 1 sequence not allowed */ + result = RT_EC_InvalidValue; + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + } + /* delete sequence (if not inserted into the dataset) */ + delete sequence; + } + } + return result; +} + + +// end of source file diff --git a/dcmrt/libsrc/drtdimcs.cc b/dcmrt/libsrc/drtdimcs.cc index c801b457..05fcc5b6 100644 --- a/dcmrt/libsrc/drtdimcs.cc +++ b/dcmrt/libsrc/drtdimcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDeidentificationMethodCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTDeidentificationMethodCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTDeidentificationMethodCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTDeidentificationMethodCodeSequence::Item &DRTDeidentificationMethodCodeSequen ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTDeidentificationMethodCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTDeidentificationMethodCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTDeidentificationMethodCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DeidentificationMethodCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DeidentificationMethodCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DeidentificationMethodCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DeidentificationMethodCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DeidentificationMethodCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DeidentificationMethodCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DeidentificationMethodCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DeidentificationMethodCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DeidentificationMethodCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTDeidentificationMethodCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DeidentificationMethodCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DeidentificationMethodCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DeidentificationMethodCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DeidentificationMethodCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DeidentificationMethodCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DeidentificationMethodCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DeidentificationMethodCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DeidentificationMethodCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DeidentificationMethodCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTDeidentificationMethodCodeSequence::Item::getContextUID(OFString } +OFCondition DRTDeidentificationMethodCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTDeidentificationMethodCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTDeidentificationMethodCodeSequence::Item::getMappingResource(OFSt } +OFCondition DRTDeidentificationMethodCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTDeidentificationMethodCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTDeidentificationMethodCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTDeidentificationMethodCodeSequence::Item::setContextUID(const OFS } +OFCondition DRTDeidentificationMethodCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTDeidentificationMethodCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTDeidentificationMethodCodeSequence::Item::setMappingResource(cons } +OFCondition DRTDeidentificationMethodCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTDeidentificationMethodCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTDeidentificationMethodCodeSequence::DRTDeidentificationMethodCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtdimrs.cc b/dcmrt/libsrc/drtdimrs.cc index f92c82e6..89620c18 100644 --- a/dcmrt/libsrc/drtdimrs.cc +++ b/dcmrt/libsrc/drtdimrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDICOMMediaRetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtdirs.cc b/dcmrt/libsrc/drtdirs.cc index ea3f650b..1d28f30a 100644 --- a/dcmrt/libsrc/drtdirs.cc +++ b/dcmrt/libsrc/drtdirs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDICOMRetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtdose.cc b/dcmrt/libsrc/drtdose.cc index 5f648140..aee59807 100644 --- a/dcmrt/libsrc/drtdose.cc +++ b/dcmrt/libsrc/drtdose.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDoseIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -58,6 +58,8 @@ DRTDoseIOD::DRTDoseIOD() StudyTime(DCM_StudyTime), ReferringPhysicianName(DCM_ReferringPhysicianName), ReferringPhysicianIdentificationSequence(), + ConsultingPhysicianName(DCM_ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(), StudyID(DCM_StudyID), AccessionNumber(DCM_AccessionNumber), IssuerOfAccessionNumberSequence(), @@ -169,6 +171,7 @@ DRTDoseIOD::DRTDoseIOD() PixelPaddingRangeLimit(DCM_PixelPaddingRangeLimit), NumberOfFrames(DCM_NumberOfFrames), FrameIncrementPointer(DCM_FrameIncrementPointer), + StereoPairsPresent(DCM_StereoPairsPresent), OverlayRows(DCM_OverlayRows), OverlayColumns(DCM_OverlayColumns), OverlayType(DCM_OverlayType), @@ -248,6 +251,7 @@ DRTDoseIOD::DRTDoseIOD() QueryRetrieveView(DCM_QueryRetrieveView), ConversionSourceAttributesSequence(), ContentQualification(DCM_ContentQualification), + PrivateDataElementCharacteristicsSequence(), ReferencedSeriesSequence(), StudiesContainingOtherReferencedInstancesSequence(), FrameExtractionSequence() @@ -298,6 +302,8 @@ DRTDoseIOD::DRTDoseIOD(const DRTDoseIOD ©) StudyTime(copy.StudyTime), ReferringPhysicianName(copy.ReferringPhysicianName), ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence), + ConsultingPhysicianName(copy.ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence), StudyID(copy.StudyID), AccessionNumber(copy.AccessionNumber), IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence), @@ -409,6 +415,7 @@ DRTDoseIOD::DRTDoseIOD(const DRTDoseIOD ©) PixelPaddingRangeLimit(copy.PixelPaddingRangeLimit), NumberOfFrames(copy.NumberOfFrames), FrameIncrementPointer(copy.FrameIncrementPointer), + StereoPairsPresent(copy.StereoPairsPresent), OverlayRows(copy.OverlayRows), OverlayColumns(copy.OverlayColumns), OverlayType(copy.OverlayType), @@ -488,6 +495,7 @@ DRTDoseIOD::DRTDoseIOD(const DRTDoseIOD ©) QueryRetrieveView(copy.QueryRetrieveView), ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence), ContentQualification(copy.ContentQualification), + PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence), ReferencedSeriesSequence(copy.ReferencedSeriesSequence), StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence), FrameExtractionSequence(copy.FrameExtractionSequence) @@ -544,6 +552,8 @@ DRTDoseIOD &DRTDoseIOD::operator=(const DRTDoseIOD ©) StudyTime = copy.StudyTime; ReferringPhysicianName = copy.ReferringPhysicianName; ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence; + ConsultingPhysicianName = copy.ConsultingPhysicianName; + ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence; StudyID = copy.StudyID; AccessionNumber = copy.AccessionNumber; IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence; @@ -655,6 +665,7 @@ DRTDoseIOD &DRTDoseIOD::operator=(const DRTDoseIOD ©) PixelPaddingRangeLimit = copy.PixelPaddingRangeLimit; NumberOfFrames = copy.NumberOfFrames; FrameIncrementPointer = copy.FrameIncrementPointer; + StereoPairsPresent = copy.StereoPairsPresent; OverlayRows = copy.OverlayRows; OverlayColumns = copy.OverlayColumns; OverlayType = copy.OverlayType; @@ -734,6 +745,7 @@ DRTDoseIOD &DRTDoseIOD::operator=(const DRTDoseIOD ©) QueryRetrieveView = copy.QueryRetrieveView; ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence; ContentQualification = copy.ContentQualification; + PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence; ReferencedSeriesSequence = copy.ReferencedSeriesSequence; StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence; FrameExtractionSequence = copy.FrameExtractionSequence; @@ -785,6 +797,8 @@ void DRTDoseIOD::clear() StudyTime.clear(); ReferringPhysicianName.clear(); ReferringPhysicianIdentificationSequence.clear(); + ConsultingPhysicianName.clear(); + ConsultingPhysicianIdentificationSequence.clear(); StudyID.clear(); AccessionNumber.clear(); IssuerOfAccessionNumberSequence.clear(); @@ -905,6 +919,7 @@ void DRTDoseIOD::clear() PixelPaddingRangeLimit.clear(); NumberOfFrames.clear(); FrameIncrementPointer.clear(); + StereoPairsPresent.clear(); OverlayRows.clear(); OverlayColumns.clear(); OverlayType.clear(); @@ -975,6 +990,7 @@ void DRTDoseIOD::clear() QueryRetrieveView.clear(); ConversionSourceAttributesSequence.clear(); ContentQualification.clear(); + PrivateDataElementCharacteristicsSequence.clear(); ReferencedSeriesSequence.clear(); StudiesContainingOtherReferencedInstancesSequence.clear(); FrameExtractionSequence.clear(); @@ -1119,6 +1135,7 @@ OFCondition DRTDoseIOD::read(DcmItem &dataset) { getAndCheckElementFromDataset(dataset, NumberOfFrames, "1", "1", "MultiFrameModule"); getAndCheckElementFromDataset(dataset, FrameIncrementPointer, "1-n", "1", "MultiFrameModule"); + getAndCheckElementFromDataset(dataset, StereoPairsPresent, "1", "3", "MultiFrameModule"); } // --- OverlayPlaneModule (U) --- @@ -1247,6 +1264,7 @@ OFCondition DRTDoseIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule"); ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule"); + PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule"); @@ -1327,6 +1345,8 @@ OFCondition DRTDoseIOD::readStudyData(DcmItem &dataset) getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule"); ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); + getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule"); + ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule"); IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); @@ -1463,6 +1483,8 @@ OFCondition DRTDoseIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule"); if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); + addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule"); + if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule"); if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); @@ -1623,6 +1645,7 @@ OFCondition DRTDoseIOD::write(DcmItem &dataset) { addElementToDataset(result, dataset, new DcmIntegerString(NumberOfFrames), "1", "1", "MultiFrameModule"); addElementToDataset(result, dataset, new DcmAttributeTag(FrameIncrementPointer), "1-n", "1", "MultiFrameModule"); + addElementToDataset(result, dataset, new DcmCodeString(StereoPairsPresent), "1", "3", "MultiFrameModule"); } // --- OverlayPlaneModule (U) --- @@ -1744,6 +1767,7 @@ OFCondition DRTDoseIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule"); if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule"); addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule"); + if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/)) @@ -1910,7 +1934,8 @@ OFBool DRTDoseIOD::isMultiFrameModulePresent(const OFBool complete) } else { /* check whether at least one attribute is present */ return !NumberOfFrames.isEmpty() || - !FrameIncrementPointer.isEmpty(); + !FrameIncrementPointer.isEmpty() || + !StereoPairsPresent.isEmpty(); } } @@ -2232,6 +2257,12 @@ OFCondition DRTDoseIOD::getCommentsOnThePerformedProcedureStep(OFString &value, } +OFCondition DRTDoseIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(ConsultingPhysicianName, value, pos); +} + + OFCondition DRTDoseIOD::getContentDate(OFString &value, const signed long pos) const { return getStringValueFromElement(ContentDate, value, pos); @@ -3261,6 +3292,12 @@ OFCondition DRTDoseIOD::getStationName(OFString &value, const signed long pos) c } +OFCondition DRTDoseIOD::getStereoPairsPresent(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(StereoPairsPresent, value, pos); +} + + OFCondition DRTDoseIOD::getStructureSetDate(OFString &value, const signed long pos) const { return getStringValueFromElement(StructureSetDate, value, pos); @@ -3594,6 +3631,15 @@ OFCondition DRTDoseIOD::setCommentsOnThePerformedProcedureStep(const OFString &v } +OFCondition DRTDoseIOD::setConsultingPhysicianName(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = ConsultingPhysicianName.putOFStringArray(value); + return result; +} + + OFCondition DRTDoseIOD::setContentDate(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal; @@ -4749,6 +4795,15 @@ OFCondition DRTDoseIOD::setStationName(const OFString &value, const OFBool check } +OFCondition DRTDoseIOD::setStereoPairsPresent(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = StereoPairsPresent.putOFStringArray(value); + return result; +} + + OFCondition DRTDoseIOD::setStructureSetDate(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal; diff --git a/dcmrt/libsrc/drtdrs.cc b/dcmrt/libsrc/drtdrs.cc index 6c7c0f29..4cc00b71 100644 --- a/dcmrt/libsrc/drtdrs.cc +++ b/dcmrt/libsrc/drtdrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtds.cc b/dcmrt/libsrc/drtds.cc index 5d0f59db..69b00cf1 100644 --- a/dcmrt/libsrc/drtds.cc +++ b/dcmrt/libsrc/drtds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -38,10 +38,14 @@ DRTDeviceSequence::Item::Item(const OFBool emptyDefaultItem) DeviceLength(DCM_DeviceLength), DeviceSerialNumber(DCM_DeviceSerialNumber), DeviceVolume(DCM_DeviceVolume), + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), InterMarkerDistance(DCM_InterMarkerDistance), + LongCodeValue(DCM_LongCodeValue), Manufacturer(DCM_Manufacturer), ManufacturerModelName(DCM_ManufacturerModelName), - MappingResource(DCM_MappingResource) + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -65,10 +69,14 @@ DRTDeviceSequence::Item::Item(const Item ©) DeviceLength(copy.DeviceLength), DeviceSerialNumber(copy.DeviceSerialNumber), DeviceVolume(copy.DeviceVolume), + EquivalentCodeSequence(copy.EquivalentCodeSequence), InterMarkerDistance(copy.InterMarkerDistance), + LongCodeValue(copy.LongCodeValue), Manufacturer(copy.Manufacturer), ManufacturerModelName(copy.ManufacturerModelName), - MappingResource(copy.MappingResource) + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -100,10 +108,14 @@ DRTDeviceSequence::Item &DRTDeviceSequence::Item::operator=(const Item ©) DeviceLength = copy.DeviceLength; DeviceSerialNumber = copy.DeviceSerialNumber; DeviceVolume = copy.DeviceVolume; + EquivalentCodeSequence = copy.EquivalentCodeSequence; InterMarkerDistance = copy.InterMarkerDistance; + LongCodeValue = copy.LongCodeValue; Manufacturer = copy.Manufacturer; ManufacturerModelName = copy.ManufacturerModelName; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -118,9 +130,13 @@ void DRTDeviceSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -145,9 +161,13 @@ OFBool DRTDeviceSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -178,13 +198,17 @@ OFCondition DRTDeviceSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DeviceSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DeviceSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DeviceSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DeviceSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DeviceSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DeviceSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DeviceSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DeviceSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "DeviceSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DeviceSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DeviceSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DeviceSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DeviceSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DeviceSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DeviceSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DeviceSequence"); @@ -211,13 +235,17 @@ OFCondition DRTDeviceSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DeviceSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DeviceSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DeviceSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DeviceSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DeviceSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DeviceSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DeviceSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DeviceSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DeviceSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DeviceSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DeviceSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DeviceSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DeviceSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DeviceSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DeviceSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DeviceSequence"); @@ -435,6 +463,15 @@ OFCondition DRTDeviceSequence::Item::getInterMarkerDistance(Float64 &value, cons } +OFCondition DRTDeviceSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTDeviceSequence::Item::getManufacturer(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -462,6 +499,24 @@ OFCondition DRTDeviceSequence::Item::getMappingResource(OFString &value, const s } +OFCondition DRTDeviceSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTDeviceSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTDeviceSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -696,6 +751,19 @@ OFCondition DRTDeviceSequence::Item::setInterMarkerDistance(const OFString &valu } +OFCondition DRTDeviceSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTDeviceSequence::Item::setManufacturer(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -735,6 +803,32 @@ OFCondition DRTDeviceSequence::Item::setMappingResource(const OFString &value, c } +OFCondition DRTDeviceSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTDeviceSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTDeviceSequence::DRTDeviceSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtdspcs.cc b/dcmrt/libsrc/drtdspcs.cc index f1c82951..a03182d3 100644 --- a/dcmrt/libsrc/drtdspcs.cc +++ b/dcmrt/libsrc/drtdspcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDigitalSignaturePurposeCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTDigitalSignaturePurposeCodeSequence::Item::Item(const OFBool emptyDefaultItem ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTDigitalSignaturePurposeCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTDigitalSignaturePurposeCodeSequence::Item &DRTDigitalSignaturePurposeCodeSequ ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTDigitalSignaturePurposeCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTDigitalSignaturePurposeCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "DigitalSignaturePurposeCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "DigitalSignaturePurposeCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "DigitalSignaturePurposeCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "DigitalSignaturePurposeCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "DigitalSignaturePurposeCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "DigitalSignaturePurposeCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "DigitalSignaturePurposeCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "DigitalSignaturePurposeCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "DigitalSignaturePurposeCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "DigitalSignaturePurposeCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "DigitalSignaturePurposeCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "DigitalSignaturePurposeCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "DigitalSignaturePurposeCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "DigitalSignaturePurposeCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "DigitalSignaturePurposeCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "DigitalSignaturePurposeCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "DigitalSignaturePurposeCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "DigitalSignaturePurposeCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getContextUID(OFString } +OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getMappingResource(OFS } +OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setContextUID(const OF } +OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setMappingResource(con } +OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTDigitalSignaturePurposeCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTDigitalSignaturePurposeCodeSequence::DRTDigitalSignaturePurposeCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtdss.cc b/dcmrt/libsrc/drtdss.cc index fc52d1e6..e9e173ae 100644 --- a/dcmrt/libsrc/drtdss.cc +++ b/dcmrt/libsrc/drtdss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDigitalSignaturesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtdvhs.cc b/dcmrt/libsrc/drtdvhs.cc index 7df442ee..328a7650 100644 --- a/dcmrt/libsrc/drtdvhs.cc +++ b/dcmrt/libsrc/drtdvhs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDVHSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtdvrrs.cc b/dcmrt/libsrc/drtdvrrs.cc index 6b2b2962..eec70c23 100644 --- a/dcmrt/libsrc/drtdvrrs.cc +++ b/dcmrt/libsrc/drtdvrrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTDVHReferencedROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drteas.cc b/dcmrt/libsrc/drteas.cc index 1e429640..53d8069d 100644 --- a/dcmrt/libsrc/drteas.cc +++ b/dcmrt/libsrc/drteas.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTEncryptedAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtecs.cc b/dcmrt/libsrc/drtecs.cc new file mode 100644 index 00000000..4f07d4c5 --- /dev/null +++ b/dcmrt/libsrc/drtecs.cc @@ -0,0 +1,689 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class DRTEquivalentCodeSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/dcmrt/seq/drtecs.h" + + +// --- item class --- + +DRTEquivalentCodeSequence::Item::Item(const OFBool emptyDefaultItem) + : EmptyDefaultItem(emptyDefaultItem), + CodeMeaning(DCM_CodeMeaning), + CodeValue(DCM_CodeValue), + CodingSchemeDesignator(DCM_CodingSchemeDesignator), + CodingSchemeVersion(DCM_CodingSchemeVersion), + LongCodeValue(DCM_LongCodeValue), + URNCodeValue(DCM_URNCodeValue) +{ +} + + +DRTEquivalentCodeSequence::Item::Item(const Item ©) + : EmptyDefaultItem(copy.EmptyDefaultItem), + CodeMeaning(copy.CodeMeaning), + CodeValue(copy.CodeValue), + CodingSchemeDesignator(copy.CodingSchemeDesignator), + CodingSchemeVersion(copy.CodingSchemeVersion), + LongCodeValue(copy.LongCodeValue), + URNCodeValue(copy.URNCodeValue) +{ +} + + +DRTEquivalentCodeSequence::Item::~Item() +{ +} + + +DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::Item::operator=(const Item ©) +{ + if (this != ©) + { + EmptyDefaultItem = copy.EmptyDefaultItem; + CodeMeaning = copy.CodeMeaning; + CodeValue = copy.CodeValue; + CodingSchemeDesignator = copy.CodingSchemeDesignator; + CodingSchemeVersion = copy.CodingSchemeVersion; + LongCodeValue = copy.LongCodeValue; + URNCodeValue = copy.URNCodeValue; + } + return *this; +} + + +void DRTEquivalentCodeSequence::Item::clear() +{ + if (!EmptyDefaultItem) + { + /* clear all DICOM attributes */ + CodeValue.clear(); + CodingSchemeDesignator.clear(); + CodingSchemeVersion.clear(); + CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + } +} + + +OFBool DRTEquivalentCodeSequence::Item::isEmpty() +{ + return CodeValue.isEmpty() && + CodingSchemeDesignator.isEmpty() && + CodingSchemeVersion.isEmpty() && + CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty(); +} + + +OFBool DRTEquivalentCodeSequence::Item::isValid() const +{ + return !EmptyDefaultItem; +} + + +OFCondition DRTEquivalentCodeSequence::Item::read(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + /* re-initialize object */ + clear(); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "EquivalentCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "EquivalentCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "EquivalentCodeSequence"); + getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "EquivalentCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "EquivalentCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "EquivalentCodeSequence"); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::Item::write(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = EC_Normal; + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "EquivalentCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "EquivalentCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "EquivalentCodeSequence"); + addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "EquivalentCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "EquivalentCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "EquivalentCodeSequence"); + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::Item::getCodeMeaning(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(CodeMeaning, value, pos); +} + + +OFCondition DRTEquivalentCodeSequence::Item::getCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(CodeValue, value, pos); +} + + +OFCondition DRTEquivalentCodeSequence::Item::getCodingSchemeDesignator(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(CodingSchemeDesignator, value, pos); +} + + +OFCondition DRTEquivalentCodeSequence::Item::getCodingSchemeVersion(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(CodingSchemeVersion, value, pos); +} + + +OFCondition DRTEquivalentCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + +OFCondition DRTEquivalentCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + +OFCondition DRTEquivalentCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = CodeMeaning.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::Item::setCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = CodeValue.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::Item::setCodingSchemeDesignator(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = CodingSchemeDesignator.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::Item::setCodingSchemeVersion(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmShortString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = CodingSchemeVersion.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + +// --- sequence class --- + +DRTEquivalentCodeSequence::DRTEquivalentCodeSequence(const OFBool emptyDefaultSequence) + : EmptyDefaultSequence(emptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + CurrentItem = SequenceOfItems.end(); +} + + +DRTEquivalentCodeSequence::DRTEquivalentCodeSequence(const DRTEquivalentCodeSequence ©) + : EmptyDefaultSequence(copy.EmptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); +} + + +DRTEquivalentCodeSequence &DRTEquivalentCodeSequence::operator=(const DRTEquivalentCodeSequence ©) +{ + if (this != ©) + { + clear(); + EmptyDefaultSequence = copy.EmptyDefaultSequence; + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); + } + return *this; +} + + +DRTEquivalentCodeSequence::~DRTEquivalentCodeSequence() +{ + clear(); +} + + +void DRTEquivalentCodeSequence::clear() +{ + if (!EmptyDefaultSequence) + { + CurrentItem = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* delete all items and free memory */ + while (CurrentItem != last) + { + delete (*CurrentItem); + CurrentItem = SequenceOfItems.erase(CurrentItem); + } + /* make sure that the list is empty */ + SequenceOfItems.clear(); + CurrentItem = SequenceOfItems.end(); + } +} + + +OFBool DRTEquivalentCodeSequence::isEmpty() +{ + return SequenceOfItems.empty(); +} + + +OFBool DRTEquivalentCodeSequence::isValid() const +{ + return !EmptyDefaultSequence; +} + + +unsigned long DRTEquivalentCodeSequence::getNumberOfItems() const +{ + return SequenceOfItems.size(); +} + + +OFCondition DRTEquivalentCodeSequence::gotoFirstItem() +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + CurrentItem = SequenceOfItems.begin(); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::gotoNextItem() +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + ++CurrentItem; + result = EC_Normal; + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator) +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::gotoItem(const unsigned long num) +{ + return gotoItem(num, CurrentItem); +} + + +OFCondition DRTEquivalentCodeSequence::getCurrentItem(Item *&item) const +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + item = *CurrentItem; + result = EC_Normal; + } + return result; +} + + +DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getCurrentItem() +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +const DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getCurrentItem() const +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +OFCondition DRTEquivalentCodeSequence::getItem(const unsigned long num, Item *&item) +{ + OFListIterator(Item *) iterator; + OFCondition result = gotoItem(num, iterator); + if (result.good()) + item = *iterator; + return result; +} + + +DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getItem(const unsigned long num) +{ + OFListIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +const DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::getItem(const unsigned long num) const +{ + OFListConstIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::operator[](const unsigned long num) +{ + return getItem(num); +} + + +const DRTEquivalentCodeSequence::Item &DRTEquivalentCodeSequence::operator[](const unsigned long num) const +{ + return getItem(num); +} + + +OFCondition DRTEquivalentCodeSequence::addItem(Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.push_back(item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::insertItem(const unsigned long pos, Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + result = gotoItem(pos, iterator); + if (result.good()) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.insert(iterator, 1, item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } else + result = addItem(item); + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::removeItem(const unsigned long pos) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + if (gotoItem(pos, iterator).good()) + { + delete *iterator; + iterator = SequenceOfItems.erase(iterator); + result = EC_Normal; + } else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + /* re-initialize object */ + clear(); + /* retrieve sequence element from dataset */ + DcmSequenceOfItems *sequence; + result = dataset.findAndGetSequence(DCM_EquivalentCodeSequence, sequence); + if (sequence != NULL) + { + if (checkElementValue(*sequence, card, type, result, moduleName)) + { + DcmStack stack; + OFBool first = OFTrue; + /* iterate over all sequence items */ + while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good()) + { + DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top()); + if (ditem != NULL) + { + Item *item = new Item(); + if (item != NULL) + { + result = item->read(*ditem); + if (result.good()) + { + /* append new item to the end of the list */ + SequenceOfItems.push_back(item); + first = OFFalse; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_CorruptedData; + } + } + } else { + DcmSequenceOfItems element(DCM_EquivalentCodeSequence); + checkElementValue(element, card, type, result, moduleName); + } + } + return result; +} + + +OFCondition DRTEquivalentCodeSequence::write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + result = EC_MemoryExhausted; + DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_EquivalentCodeSequence); + if (sequence != NULL) + { + result = EC_Normal; + /* an empty optional sequence is not written */ + if ((type == "2") || !SequenceOfItems.empty()) + { + OFListIterator(Item *) iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* iterate over all sequence items */ + while (result.good() && (iterator != last)) + { + DcmItem *item = new DcmItem(); + if (item != NULL) + { + /* append new item to the end of the sequence */ + result = sequence->append(item); + if (result.good()) + { + result = (*iterator)->write(*item); + ++iterator; + } else + delete item; + } else + result = EC_MemoryExhausted; + } + if (result.good()) + { + /* insert sequence element into the dataset */ + result = dataset.insert(sequence, OFTrue /*replaceOld*/); + } + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + if (result.good()) + { + /* forget reference to sequence object (avoid deletion below) */ + sequence = NULL; + } + } + else if (type == "1") + { + /* empty type 1 sequence not allowed */ + result = RT_EC_InvalidValue; + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + } + /* delete sequence (if not inserted into the dataset) */ + delete sequence; + } + } + return result; +} + + +// end of source file diff --git a/dcmrt/libsrc/drtes.cc b/dcmrt/libsrc/drtes.cc index 6f9abb3d..58d00279 100644 --- a/dcmrt/libsrc/drtes.cc +++ b/dcmrt/libsrc/drtes.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTExposureSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtfds.cc b/dcmrt/libsrc/drtfds.cc index 2ede6de1..3a69a634 100644 --- a/dcmrt/libsrc/drtfds.cc +++ b/dcmrt/libsrc/drtfds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTFixationDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtfes.cc b/dcmrt/libsrc/drtfes.cc index 45ebb4db..add7207f 100644 --- a/dcmrt/libsrc/drtfes.cc +++ b/dcmrt/libsrc/drtfes.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTFrameExtractionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtfgs.cc b/dcmrt/libsrc/drtfgs.cc index 62aa674a..c82bde54 100644 --- a/dcmrt/libsrc/drtfgs.cc +++ b/dcmrt/libsrc/drtfgs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTFractionGroupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtfgss.cc b/dcmrt/libsrc/drtfgss.cc index d34ae1ce..6bfe62a7 100644 --- a/dcmrt/libsrc/drtfgss.cc +++ b/dcmrt/libsrc/drtfgss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTFractionGroupSummarySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtfms.cc b/dcmrt/libsrc/drtfms.cc index bf810875..a0e73bb8 100644 --- a/dcmrt/libsrc/drtfms.cc +++ b/dcmrt/libsrc/drtfms.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTFluenceMapSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtfsss.cc b/dcmrt/libsrc/drtfsss.cc index 676f2e1c..75400c7f 100644 --- a/dcmrt/libsrc/drtfsss.cc +++ b/dcmrt/libsrc/drtfsss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTFractionStatusSummarySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtgas.cc b/dcmrt/libsrc/drtgas.cc index a59e6ca6..613c9f25 100644 --- a/dcmrt/libsrc/drtgas.cc +++ b/dcmrt/libsrc/drtgas.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTGeneralAccessorySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drthsdrs.cc b/dcmrt/libsrc/drthsdrs.cc index fd210411..129979a7 100644 --- a/dcmrt/libsrc/drthsdrs.cc +++ b/dcmrt/libsrc/drthsdrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTHL7StructuredDocumentReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtiais.cc b/dcmrt/libsrc/drtiais.cc index ddd93bf0..c206dae8 100644 --- a/dcmrt/libsrc/drtiais.cc +++ b/dcmrt/libsrc/drtiais.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIssuerOfAdmissionIDSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtians.cc b/dcmrt/libsrc/drtians.cc index fc7571f7..6e0bb83a 100644 --- a/dcmrt/libsrc/drtians.cc +++ b/dcmrt/libsrc/drtians.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIssuerOfAccessionNumberSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtiblds.cc b/dcmrt/libsrc/drtiblds.cc index 14b032dc..0cc4309d 100644 --- a/dcmrt/libsrc/drtiblds.cc +++ b/dcmrt/libsrc/drtiblds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonBeamLimitingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtibls.cc b/dcmrt/libsrc/drtibls.cc index bb1ccf1f..a58a0380 100644 --- a/dcmrt/libsrc/drtibls.cc +++ b/dcmrt/libsrc/drtibls.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonBlockSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -28,11 +28,13 @@ DRTIonBlockSequence::Item::Item(const OFBool emptyDefaultItem) BlockName(DCM_BlockName), BlockNumber(DCM_BlockNumber), BlockNumberOfPoints(DCM_BlockNumberOfPoints), + BlockSlabSequence(emptyDefaultItem /*emptyDefaultSequence*/), BlockThickness(DCM_BlockThickness), BlockTrayID(DCM_BlockTrayID), BlockType(DCM_BlockType), IsocenterToBlockTrayDistance(DCM_IsocenterToBlockTrayDistance), - MaterialID(DCM_MaterialID) + MaterialID(DCM_MaterialID), + NumberOfBlockSlabItems(DCM_NumberOfBlockSlabItems) { } @@ -46,11 +48,13 @@ DRTIonBlockSequence::Item::Item(const Item ©) BlockName(copy.BlockName), BlockNumber(copy.BlockNumber), BlockNumberOfPoints(copy.BlockNumberOfPoints), + BlockSlabSequence(copy.BlockSlabSequence), BlockThickness(copy.BlockThickness), BlockTrayID(copy.BlockTrayID), BlockType(copy.BlockType), IsocenterToBlockTrayDistance(copy.IsocenterToBlockTrayDistance), - MaterialID(copy.MaterialID) + MaterialID(copy.MaterialID), + NumberOfBlockSlabItems(copy.NumberOfBlockSlabItems) { } @@ -72,11 +76,13 @@ DRTIonBlockSequence::Item &DRTIonBlockSequence::Item::operator=(const Item © BlockName = copy.BlockName; BlockNumber = copy.BlockNumber; BlockNumberOfPoints = copy.BlockNumberOfPoints; + BlockSlabSequence = copy.BlockSlabSequence; BlockThickness = copy.BlockThickness; BlockTrayID = copy.BlockTrayID; BlockType = copy.BlockType; IsocenterToBlockTrayDistance = copy.IsocenterToBlockTrayDistance; MaterialID = copy.MaterialID; + NumberOfBlockSlabItems = copy.NumberOfBlockSlabItems; } return *this; } @@ -99,6 +105,8 @@ void DRTIonBlockSequence::Item::clear() BlockThickness.clear(); BlockNumberOfPoints.clear(); BlockData.clear(); + NumberOfBlockSlabItems.clear(); + BlockSlabSequence.clear(); } } @@ -116,7 +124,9 @@ OFBool DRTIonBlockSequence::Item::isEmpty() MaterialID.isEmpty() && BlockThickness.isEmpty() && BlockNumberOfPoints.isEmpty() && - BlockData.isEmpty(); + BlockData.isEmpty() && + NumberOfBlockSlabItems.isEmpty() && + BlockSlabSequence.isEmpty(); } @@ -145,6 +155,8 @@ OFCondition DRTIonBlockSequence::Item::read(DcmItem &item) getAndCheckElementFromDataset(item, BlockThickness, "1", "1", "IonBlockSequence"); getAndCheckElementFromDataset(item, BlockNumberOfPoints, "1", "1", "IonBlockSequence"); getAndCheckElementFromDataset(item, BlockData, "2-2n", "1", "IonBlockSequence"); + getAndCheckElementFromDataset(item, NumberOfBlockSlabItems, "1", "3", "IonBlockSequence"); + BlockSlabSequence.read(item, "1-n", "1C", "IonBlockSequence"); result = EC_Normal; } return result; @@ -169,6 +181,8 @@ OFCondition DRTIonBlockSequence::Item::write(DcmItem &item) addElementToDataset(result, item, new DcmDecimalString(BlockThickness), "1", "1", "IonBlockSequence"); addElementToDataset(result, item, new DcmIntegerString(BlockNumberOfPoints), "1", "1", "IonBlockSequence"); addElementToDataset(result, item, new DcmDecimalString(BlockData), "2-2n", "1", "IonBlockSequence"); + addElementToDataset(result, item, new DcmIntegerString(NumberOfBlockSlabItems), "1", "3", "IonBlockSequence"); + if (result.good()) result = BlockSlabSequence.write(item, "1-n", "1C", "IonBlockSequence"); } return result; } @@ -327,6 +341,24 @@ OFCondition DRTIonBlockSequence::Item::getMaterialID(OFString &value, const sign } +OFCondition DRTIonBlockSequence::Item::getNumberOfBlockSlabItems(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(NumberOfBlockSlabItems, value, pos); +} + + +OFCondition DRTIonBlockSequence::Item::getNumberOfBlockSlabItems(Sint32 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmIntegerString &, NumberOfBlockSlabItems).getSint32(value, pos); +} + + OFCondition DRTIonBlockSequence::Item::setAccessoryCode(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -479,6 +511,19 @@ OFCondition DRTIonBlockSequence::Item::setMaterialID(const OFString &value, cons } +OFCondition DRTIonBlockSequence::Item::setNumberOfBlockSlabItems(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = NumberOfBlockSlabItems.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTIonBlockSequence::DRTIonBlockSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtibs.cc b/dcmrt/libsrc/drtibs.cc index 0d8854d9..88cffe19 100644 --- a/dcmrt/libsrc/drtibs.cc +++ b/dcmrt/libsrc/drtibs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonBeamSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drticpds.cc b/dcmrt/libsrc/drticpds.cc index 893ebf9b..5645f814 100644 --- a/dcmrt/libsrc/drticpds.cc +++ b/dcmrt/libsrc/drticpds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonControlPointDeliverySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drticps.cc b/dcmrt/libsrc/drticps.cc index b29ef028..28430e1b 100644 --- a/dcmrt/libsrc/drticps.cc +++ b/dcmrt/libsrc/drticps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -26,6 +26,7 @@ DRTIonControlPointSequence::Item::Item(const OFBool emptyDefaultItem) BeamLimitingDeviceRotationDirection(DCM_BeamLimitingDeviceRotationDirection), ControlPointIndex(DCM_ControlPointIndex), CumulativeMetersetWeight(DCM_CumulativeMetersetWeight), + ExternalContourEntryPoint(DCM_ExternalContourEntryPoint), GantryAngle(DCM_GantryAngle), GantryPitchAngle(DCM_GantryPitchAngle), GantryPitchRotationDirection(DCM_GantryPitchRotationDirection), @@ -68,6 +69,7 @@ DRTIonControlPointSequence::Item::Item(const Item ©) BeamLimitingDeviceRotationDirection(copy.BeamLimitingDeviceRotationDirection), ControlPointIndex(copy.ControlPointIndex), CumulativeMetersetWeight(copy.CumulativeMetersetWeight), + ExternalContourEntryPoint(copy.ExternalContourEntryPoint), GantryAngle(copy.GantryAngle), GantryPitchAngle(copy.GantryPitchAngle), GantryPitchRotationDirection(copy.GantryPitchRotationDirection), @@ -118,6 +120,7 @@ DRTIonControlPointSequence::Item &DRTIonControlPointSequence::Item::operator=(co BeamLimitingDeviceRotationDirection = copy.BeamLimitingDeviceRotationDirection; ControlPointIndex = copy.ControlPointIndex; CumulativeMetersetWeight = copy.CumulativeMetersetWeight; + ExternalContourEntryPoint = copy.ExternalContourEntryPoint; GantryAngle = copy.GantryAngle; GantryPitchAngle = copy.GantryPitchAngle; GantryPitchRotationDirection = copy.GantryPitchRotationDirection; @@ -195,6 +198,7 @@ void DRTIonControlPointSequence::Item::clear() SnoutPosition.clear(); IsocenterPosition.clear(); SurfaceEntryPoint.clear(); + ExternalContourEntryPoint.clear(); } } @@ -236,7 +240,8 @@ OFBool DRTIonControlPointSequence::Item::isEmpty() TableTopLateralPosition.isEmpty() && SnoutPosition.isEmpty() && IsocenterPosition.isEmpty() && - SurfaceEntryPoint.isEmpty(); + SurfaceEntryPoint.isEmpty() && + ExternalContourEntryPoint.isEmpty(); } @@ -289,6 +294,7 @@ OFCondition DRTIonControlPointSequence::Item::read(DcmItem &item) getAndCheckElementFromDataset(item, SnoutPosition, "1", "2C", "IonControlPointSequence"); getAndCheckElementFromDataset(item, IsocenterPosition, "3", "2C", "IonControlPointSequence"); getAndCheckElementFromDataset(item, SurfaceEntryPoint, "3", "3", "IonControlPointSequence"); + getAndCheckElementFromDataset(item, ExternalContourEntryPoint, "3", "3", "IonControlPointSequence"); result = EC_Normal; } return result; @@ -337,6 +343,7 @@ OFCondition DRTIonControlPointSequence::Item::write(DcmItem &item) addElementToDataset(result, item, new DcmFloatingPointSingle(SnoutPosition), "1", "2C", "IonControlPointSequence"); addElementToDataset(result, item, new DcmDecimalString(IsocenterPosition), "3", "2C", "IonControlPointSequence"); addElementToDataset(result, item, new DcmDecimalString(SurfaceEntryPoint), "3", "3", "IonControlPointSequence"); + addElementToDataset(result, item, new DcmFloatingPointSingle(ExternalContourEntryPoint), "3", "3", "IonControlPointSequence"); } return result; } @@ -405,6 +412,15 @@ OFCondition DRTIonControlPointSequence::Item::getCumulativeMetersetWeight(Float6 } +OFCondition DRTIonControlPointSequence::Item::getExternalContourEntryPoint(Float32 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmFloatingPointSingle &, ExternalContourEntryPoint).getFloat32(value, pos); +} + + OFCondition DRTIonControlPointSequence::Item::getGantryAngle(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -808,6 +824,15 @@ OFCondition DRTIonControlPointSequence::Item::setCumulativeMetersetWeight(const } +OFCondition DRTIonControlPointSequence::Item::setExternalContourEntryPoint(const Float32 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return ExternalContourEntryPoint.putFloat32(value, pos); +} + + OFCondition DRTIonControlPointSequence::Item::setGantryAngle(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtics.cc b/dcmrt/libsrc/drtics.cc index 68398be8..cc4ab0a0 100644 --- a/dcmrt/libsrc/drtics.cc +++ b/dcmrt/libsrc/drtics.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTInstitutionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTInstitutionCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTInstitutionCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTInstitutionCodeSequence::Item &DRTInstitutionCodeSequence::Item::operator=(co ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTInstitutionCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTInstitutionCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTInstitutionCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "InstitutionCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "InstitutionCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "InstitutionCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "InstitutionCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "InstitutionCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "InstitutionCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "InstitutionCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "InstitutionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "InstitutionCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTInstitutionCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "InstitutionCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "InstitutionCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "InstitutionCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "InstitutionCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "InstitutionCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "InstitutionCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "InstitutionCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "InstitutionCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "InstitutionCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTInstitutionCodeSequence::Item::getContextUID(OFString &value, con } +OFCondition DRTInstitutionCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTInstitutionCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTInstitutionCodeSequence::Item::getMappingResource(OFString &value } +OFCondition DRTInstitutionCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTInstitutionCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTInstitutionCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTInstitutionCodeSequence::Item::setContextUID(const OFString &valu } +OFCondition DRTInstitutionCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTInstitutionCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTInstitutionCodeSequence::Item::setMappingResource(const OFString } +OFCondition DRTInstitutionCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTInstitutionCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTInstitutionCodeSequence::DRTInstitutionCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtiis.cc b/dcmrt/libsrc/drtiis.cc index 2f824d61..145601cf 100644 --- a/dcmrt/libsrc/drtiis.cc +++ b/dcmrt/libsrc/drtiis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIconImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtimage.cc b/dcmrt/libsrc/drtimage.cc index 81657412..f55e999e 100644 --- a/dcmrt/libsrc/drtimage.cc +++ b/dcmrt/libsrc/drtimage.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTImageIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -58,6 +58,8 @@ DRTImageIOD::DRTImageIOD() StudyTime(DCM_StudyTime), ReferringPhysicianName(DCM_ReferringPhysicianName), ReferringPhysicianIdentificationSequence(), + ConsultingPhysicianName(DCM_ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(), StudyID(DCM_StudyID), AccessionNumber(DCM_AccessionNumber), IssuerOfAccessionNumberSequence(), @@ -190,6 +192,7 @@ DRTImageIOD::DRTImageIOD() MultiplexedAudioChannelsDescriptionCodeSequence(), NumberOfFrames(DCM_NumberOfFrames), FrameIncrementPointer(DCM_FrameIncrementPointer), + StereoPairsPresent(DCM_StereoPairsPresent), DeviceSequence(), SamplesPerPixel(DCM_SamplesPerPixel), PhotometricInterpretation(DCM_PhotometricInterpretation), @@ -276,6 +279,7 @@ DRTImageIOD::DRTImageIOD() QueryRetrieveView(DCM_QueryRetrieveView), ConversionSourceAttributesSequence(), ContentQualification(DCM_ContentQualification), + PrivateDataElementCharacteristicsSequence(), ReferencedSeriesSequence(), StudiesContainingOtherReferencedInstancesSequence(), FrameExtractionSequence() @@ -326,6 +330,8 @@ DRTImageIOD::DRTImageIOD(const DRTImageIOD ©) StudyTime(copy.StudyTime), ReferringPhysicianName(copy.ReferringPhysicianName), ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence), + ConsultingPhysicianName(copy.ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence), StudyID(copy.StudyID), AccessionNumber(copy.AccessionNumber), IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence), @@ -458,6 +464,7 @@ DRTImageIOD::DRTImageIOD(const DRTImageIOD ©) MultiplexedAudioChannelsDescriptionCodeSequence(copy.MultiplexedAudioChannelsDescriptionCodeSequence), NumberOfFrames(copy.NumberOfFrames), FrameIncrementPointer(copy.FrameIncrementPointer), + StereoPairsPresent(copy.StereoPairsPresent), DeviceSequence(copy.DeviceSequence), SamplesPerPixel(copy.SamplesPerPixel), PhotometricInterpretation(copy.PhotometricInterpretation), @@ -544,6 +551,7 @@ DRTImageIOD::DRTImageIOD(const DRTImageIOD ©) QueryRetrieveView(copy.QueryRetrieveView), ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence), ContentQualification(copy.ContentQualification), + PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence), ReferencedSeriesSequence(copy.ReferencedSeriesSequence), StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence), FrameExtractionSequence(copy.FrameExtractionSequence) @@ -600,6 +608,8 @@ DRTImageIOD &DRTImageIOD::operator=(const DRTImageIOD ©) StudyTime = copy.StudyTime; ReferringPhysicianName = copy.ReferringPhysicianName; ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence; + ConsultingPhysicianName = copy.ConsultingPhysicianName; + ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence; StudyID = copy.StudyID; AccessionNumber = copy.AccessionNumber; IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence; @@ -732,6 +742,7 @@ DRTImageIOD &DRTImageIOD::operator=(const DRTImageIOD ©) MultiplexedAudioChannelsDescriptionCodeSequence = copy.MultiplexedAudioChannelsDescriptionCodeSequence; NumberOfFrames = copy.NumberOfFrames; FrameIncrementPointer = copy.FrameIncrementPointer; + StereoPairsPresent = copy.StereoPairsPresent; DeviceSequence = copy.DeviceSequence; SamplesPerPixel = copy.SamplesPerPixel; PhotometricInterpretation = copy.PhotometricInterpretation; @@ -818,6 +829,7 @@ DRTImageIOD &DRTImageIOD::operator=(const DRTImageIOD ©) QueryRetrieveView = copy.QueryRetrieveView; ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence; ContentQualification = copy.ContentQualification; + PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence; ReferencedSeriesSequence = copy.ReferencedSeriesSequence; StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence; FrameExtractionSequence = copy.FrameExtractionSequence; @@ -869,6 +881,8 @@ void DRTImageIOD::clear() StudyTime.clear(); ReferringPhysicianName.clear(); ReferringPhysicianIdentificationSequence.clear(); + ConsultingPhysicianName.clear(); + ConsultingPhysicianIdentificationSequence.clear(); StudyID.clear(); AccessionNumber.clear(); IssuerOfAccessionNumberSequence.clear(); @@ -1008,6 +1022,7 @@ void DRTImageIOD::clear() MultiplexedAudioChannelsDescriptionCodeSequence.clear(); NumberOfFrames.clear(); FrameIncrementPointer.clear(); + StereoPairsPresent.clear(); DeviceSequence.clear(); PixelIntensityRelationship.clear(); PixelIntensityRelationshipSign.clear(); @@ -1087,6 +1102,7 @@ void DRTImageIOD::clear() QueryRetrieveView.clear(); ConversionSourceAttributesSequence.clear(); ContentQualification.clear(); + PrivateDataElementCharacteristicsSequence.clear(); ReferencedSeriesSequence.clear(); StudiesContainingOtherReferencedInstancesSequence.clear(); FrameExtractionSequence.clear(); @@ -1249,6 +1265,7 @@ OFCondition DRTImageIOD::read(DcmItem &dataset) { getAndCheckElementFromDataset(dataset, NumberOfFrames, "1", "1", "MultiFrameModule"); getAndCheckElementFromDataset(dataset, FrameIncrementPointer, "1-n", "1", "MultiFrameModule"); + getAndCheckElementFromDataset(dataset, StereoPairsPresent, "1", "3", "MultiFrameModule"); } // --- DeviceModule (U) --- @@ -1355,6 +1372,7 @@ OFCondition DRTImageIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule"); ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule"); + PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule"); @@ -1435,6 +1453,8 @@ OFCondition DRTImageIOD::readStudyData(DcmItem &dataset) getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule"); ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); + getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule"); + ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule"); IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); @@ -1571,6 +1591,8 @@ OFCondition DRTImageIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule"); if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); + addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule"); + if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule"); if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); @@ -1752,6 +1774,7 @@ OFCondition DRTImageIOD::write(DcmItem &dataset) { addElementToDataset(result, dataset, new DcmIntegerString(NumberOfFrames), "1", "1", "MultiFrameModule"); addElementToDataset(result, dataset, new DcmAttributeTag(FrameIncrementPointer), "1-n", "1", "MultiFrameModule"); + addElementToDataset(result, dataset, new DcmCodeString(StereoPairsPresent), "1", "3", "MultiFrameModule"); } // --- DeviceModule (U) --- @@ -1864,6 +1887,7 @@ OFCondition DRTImageIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule"); if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule"); addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule"); + if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/)) @@ -2003,7 +2027,8 @@ OFBool DRTImageIOD::isMultiFrameModulePresent(const OFBool complete) } else { /* check whether at least one attribute is present */ return !NumberOfFrames.isEmpty() || - !FrameIncrementPointer.isEmpty(); + !FrameIncrementPointer.isEmpty() || + !StereoPairsPresent.isEmpty(); } } @@ -2304,6 +2329,12 @@ OFCondition DRTImageIOD::getCommentsOnThePerformedProcedureStep(OFString &value, } +OFCondition DRTImageIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(ConsultingPhysicianName, value, pos); +} + + OFCondition DRTImageIOD::getContentDate(OFString &value, const signed long pos) const { return getStringValueFromElement(ContentDate, value, pos); @@ -3531,6 +3562,12 @@ OFCondition DRTImageIOD::getStationName(OFString &value, const signed long pos) } +OFCondition DRTImageIOD::getStereoPairsPresent(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(StereoPairsPresent, value, pos); +} + + OFCondition DRTImageIOD::getStopTrim(OFString &value, const signed long pos) const { return getStringValueFromElement(StopTrim, value, pos); @@ -4026,6 +4063,15 @@ OFCondition DRTImageIOD::setCommentsOnThePerformedProcedureStep(const OFString & } +OFCondition DRTImageIOD::setConsultingPhysicianName(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = ConsultingPhysicianName.putOFStringArray(value); + return result; +} + + OFCondition DRTImageIOD::setContentDate(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal; @@ -5361,6 +5407,15 @@ OFCondition DRTImageIOD::setStationName(const OFString &value, const OFBool chec } +OFCondition DRTImageIOD::setStereoPairsPresent(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = StereoPairsPresent.putOFStringArray(value); + return result; +} + + OFCondition DRTImageIOD::setStopTrim(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmIntegerString::checkStringValue(value, "1") : EC_Normal; diff --git a/dcmrt/libsrc/drtionpl.cc b/dcmrt/libsrc/drtionpl.cc index 35e4b500..52b22af2 100644 --- a/dcmrt/libsrc/drtionpl.cc +++ b/dcmrt/libsrc/drtionpl.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonPlanIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -58,6 +58,8 @@ DRTIonPlanIOD::DRTIonPlanIOD() StudyTime(DCM_StudyTime), ReferringPhysicianName(DCM_ReferringPhysicianName), ReferringPhysicianIdentificationSequence(), + ConsultingPhysicianName(DCM_ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(), StudyID(DCM_StudyID), AccessionNumber(DCM_AccessionNumber), IssuerOfAccessionNumberSequence(), @@ -171,6 +173,7 @@ DRTIonPlanIOD::DRTIonPlanIOD() QueryRetrieveView(DCM_QueryRetrieveView), ConversionSourceAttributesSequence(), ContentQualification(DCM_ContentQualification), + PrivateDataElementCharacteristicsSequence(), ReferencedSeriesSequence(), StudiesContainingOtherReferencedInstancesSequence() { @@ -220,6 +223,8 @@ DRTIonPlanIOD::DRTIonPlanIOD(const DRTIonPlanIOD ©) StudyTime(copy.StudyTime), ReferringPhysicianName(copy.ReferringPhysicianName), ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence), + ConsultingPhysicianName(copy.ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence), StudyID(copy.StudyID), AccessionNumber(copy.AccessionNumber), IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence), @@ -333,6 +338,7 @@ DRTIonPlanIOD::DRTIonPlanIOD(const DRTIonPlanIOD ©) QueryRetrieveView(copy.QueryRetrieveView), ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence), ContentQualification(copy.ContentQualification), + PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence), ReferencedSeriesSequence(copy.ReferencedSeriesSequence), StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence) { @@ -388,6 +394,8 @@ DRTIonPlanIOD &DRTIonPlanIOD::operator=(const DRTIonPlanIOD ©) StudyTime = copy.StudyTime; ReferringPhysicianName = copy.ReferringPhysicianName; ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence; + ConsultingPhysicianName = copy.ConsultingPhysicianName; + ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence; StudyID = copy.StudyID; AccessionNumber = copy.AccessionNumber; IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence; @@ -501,6 +509,7 @@ DRTIonPlanIOD &DRTIonPlanIOD::operator=(const DRTIonPlanIOD ©) QueryRetrieveView = copy.QueryRetrieveView; ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence; ContentQualification = copy.ContentQualification; + PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence; ReferencedSeriesSequence = copy.ReferencedSeriesSequence; StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence; } @@ -551,6 +560,8 @@ void DRTIonPlanIOD::clear() StudyTime.clear(); ReferringPhysicianName.clear(); ReferringPhysicianIdentificationSequence.clear(); + ConsultingPhysicianName.clear(); + ConsultingPhysicianIdentificationSequence.clear(); StudyID.clear(); AccessionNumber.clear(); IssuerOfAccessionNumberSequence.clear(); @@ -664,6 +675,7 @@ void DRTIonPlanIOD::clear() QueryRetrieveView.clear(); ConversionSourceAttributesSequence.clear(); ContentQualification.clear(); + PrivateDataElementCharacteristicsSequence.clear(); ReferencedSeriesSequence.clear(); StudiesContainingOtherReferencedInstancesSequence.clear(); } @@ -811,6 +823,7 @@ OFCondition DRTIonPlanIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule"); ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule"); + PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule"); @@ -885,6 +898,8 @@ OFCondition DRTIonPlanIOD::readStudyData(DcmItem &dataset) getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule"); ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); + getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule"); + ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule"); IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); @@ -1021,6 +1036,8 @@ OFCondition DRTIonPlanIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule"); if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); + addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule"); + if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule"); if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); @@ -1190,6 +1207,7 @@ OFCondition DRTIonPlanIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule"); if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule"); addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule"); + if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/)) @@ -1449,6 +1467,12 @@ OFCondition DRTIonPlanIOD::getCommentsOnThePerformedProcedureStep(OFString &valu } +OFCondition DRTIonPlanIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(ConsultingPhysicianName, value, pos); +} + + OFCondition DRTIonPlanIOD::getContentQualification(OFString &value, const signed long pos) const { return getStringValueFromElement(ContentQualification, value, pos); @@ -2214,6 +2238,15 @@ OFCondition DRTIonPlanIOD::setCommentsOnThePerformedProcedureStep(const OFString } +OFCondition DRTIonPlanIOD::setConsultingPhysicianName(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = ConsultingPhysicianName.putOFStringArray(value); + return result; +} + + OFCondition DRTIonPlanIOD::setContentQualification(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; diff --git a/dcmrt/libsrc/drtiontr.cc b/dcmrt/libsrc/drtiontr.cc index 6582499a..ec5bf4d9 100644 --- a/dcmrt/libsrc/drtiontr.cc +++ b/dcmrt/libsrc/drtiontr.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonBeamsTreatmentRecordIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -58,6 +58,8 @@ DRTIonBeamsTreatmentRecordIOD::DRTIonBeamsTreatmentRecordIOD() StudyTime(DCM_StudyTime), ReferringPhysicianName(DCM_ReferringPhysicianName), ReferringPhysicianIdentificationSequence(), + ConsultingPhysicianName(DCM_ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(), StudyID(DCM_StudyID), AccessionNumber(DCM_AccessionNumber), IssuerOfAccessionNumberSequence(), @@ -166,6 +168,7 @@ DRTIonBeamsTreatmentRecordIOD::DRTIonBeamsTreatmentRecordIOD() QueryRetrieveView(DCM_QueryRetrieveView), ConversionSourceAttributesSequence(), ContentQualification(DCM_ContentQualification), + PrivateDataElementCharacteristicsSequence(), ReferencedSeriesSequence(), StudiesContainingOtherReferencedInstancesSequence() { @@ -215,6 +218,8 @@ DRTIonBeamsTreatmentRecordIOD::DRTIonBeamsTreatmentRecordIOD(const DRTIonBeamsTr StudyTime(copy.StudyTime), ReferringPhysicianName(copy.ReferringPhysicianName), ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence), + ConsultingPhysicianName(copy.ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence), StudyID(copy.StudyID), AccessionNumber(copy.AccessionNumber), IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence), @@ -323,6 +328,7 @@ DRTIonBeamsTreatmentRecordIOD::DRTIonBeamsTreatmentRecordIOD(const DRTIonBeamsTr QueryRetrieveView(copy.QueryRetrieveView), ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence), ContentQualification(copy.ContentQualification), + PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence), ReferencedSeriesSequence(copy.ReferencedSeriesSequence), StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence) { @@ -378,6 +384,8 @@ DRTIonBeamsTreatmentRecordIOD &DRTIonBeamsTreatmentRecordIOD::operator=(const DR StudyTime = copy.StudyTime; ReferringPhysicianName = copy.ReferringPhysicianName; ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence; + ConsultingPhysicianName = copy.ConsultingPhysicianName; + ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence; StudyID = copy.StudyID; AccessionNumber = copy.AccessionNumber; IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence; @@ -486,6 +494,7 @@ DRTIonBeamsTreatmentRecordIOD &DRTIonBeamsTreatmentRecordIOD::operator=(const DR QueryRetrieveView = copy.QueryRetrieveView; ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence; ContentQualification = copy.ContentQualification; + PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence; ReferencedSeriesSequence = copy.ReferencedSeriesSequence; StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence; } @@ -536,6 +545,8 @@ void DRTIonBeamsTreatmentRecordIOD::clear() StudyTime.clear(); ReferringPhysicianName.clear(); ReferringPhysicianIdentificationSequence.clear(); + ConsultingPhysicianName.clear(); + ConsultingPhysicianIdentificationSequence.clear(); StudyID.clear(); AccessionNumber.clear(); IssuerOfAccessionNumberSequence.clear(); @@ -644,6 +655,7 @@ void DRTIonBeamsTreatmentRecordIOD::clear() QueryRetrieveView.clear(); ConversionSourceAttributesSequence.clear(); ContentQualification.clear(); + PrivateDataElementCharacteristicsSequence.clear(); ReferencedSeriesSequence.clear(); StudiesContainingOtherReferencedInstancesSequence.clear(); } @@ -783,6 +795,7 @@ OFCondition DRTIonBeamsTreatmentRecordIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule"); ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule"); + PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule"); @@ -857,6 +870,8 @@ OFCondition DRTIonBeamsTreatmentRecordIOD::readStudyData(DcmItem &dataset) getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule"); ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); + getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule"); + ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule"); IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); @@ -993,6 +1008,8 @@ OFCondition DRTIonBeamsTreatmentRecordIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule"); if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); + addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule"); + if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule"); if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); @@ -1149,6 +1166,7 @@ OFCondition DRTIonBeamsTreatmentRecordIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule"); if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule"); addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule"); + if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/)) @@ -1390,6 +1408,12 @@ OFCondition DRTIonBeamsTreatmentRecordIOD::getCommentsOnThePerformedProcedureSte } +OFCondition DRTIonBeamsTreatmentRecordIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(ConsultingPhysicianName, value, pos); +} + + OFCondition DRTIonBeamsTreatmentRecordIOD::getContentQualification(OFString &value, const signed long pos) const { return getStringValueFromElement(ContentQualification, value, pos); @@ -2122,6 +2146,15 @@ OFCondition DRTIonBeamsTreatmentRecordIOD::setCommentsOnThePerformedProcedureSte } +OFCondition DRTIonBeamsTreatmentRecordIOD::setConsultingPhysicianName(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = ConsultingPhysicianName.putOFStringArray(value); + return result; +} + + OFCondition DRTIonBeamsTreatmentRecordIOD::setContentQualification(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; diff --git a/dcmrt/libsrc/drtipiqs.cc b/dcmrt/libsrc/drtipiqs.cc index 5a633eec..25a3869d 100644 --- a/dcmrt/libsrc/drtipiqs.cc +++ b/dcmrt/libsrc/drtipiqs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIssuerOfPatientIDQualifiersSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtircs.cc b/dcmrt/libsrc/drtircs.cc index d5635e8d..e79d28cb 100644 --- a/dcmrt/libsrc/drtircs.cc +++ b/dcmrt/libsrc/drtircs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonRangeCompensatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtiseis.cc b/dcmrt/libsrc/drtiseis.cc index 20c90181..eb40d2e4 100644 --- a/dcmrt/libsrc/drtiseis.cc +++ b/dcmrt/libsrc/drtiseis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIssuerOfServiceEpisodeIDSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtitts.cc b/dcmrt/libsrc/drtitts.cc index 99ae730e..32d02c1a 100644 --- a/dcmrt/libsrc/drtitts.cc +++ b/dcmrt/libsrc/drtitts.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonToleranceTableSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtiwps.cc b/dcmrt/libsrc/drtiwps.cc index 1099097d..0501b4b9 100644 --- a/dcmrt/libsrc/drtiwps.cc +++ b/dcmrt/libsrc/drtiwps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonWedgePositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtiws.cc b/dcmrt/libsrc/drtiws.cc index d2439705..66ec2a87 100644 --- a/dcmrt/libsrc/drtiws.cc +++ b/dcmrt/libsrc/drtiws.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTIonWedgeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtlsds.cc b/dcmrt/libsrc/drtlsds.cc index 5fb67436..c6ee742f 100644 --- a/dcmrt/libsrc/drtlsds.cc +++ b/dcmrt/libsrc/drtlsds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTLateralSpreadingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtlsds6.cc b/dcmrt/libsrc/drtlsds6.cc index b93c3735..77f8ba1e 100644 --- a/dcmrt/libsrc/drtlsds6.cc +++ b/dcmrt/libsrc/drtlsds6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtlsds7.cc b/dcmrt/libsrc/drtlsds7.cc index 96749786..6d236c56 100644 --- a/dcmrt/libsrc/drtlsds7.cc +++ b/dcmrt/libsrc/drtlsds7.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTLateralSpreadingDeviceSettingsSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtmacds.cc b/dcmrt/libsrc/drtmacds.cc index 2e8a283f..ddbda955 100644 --- a/dcmrt/libsrc/drtmacds.cc +++ b/dcmrt/libsrc/drtmacds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTMultiplexedAudioChannelsDescriptionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtmas.cc b/dcmrt/libsrc/drtmas.cc index 0002733f..369b0c6e 100644 --- a/dcmrt/libsrc/drtmas.cc +++ b/dcmrt/libsrc/drtmas.cc @@ -1,13 +1,14 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTModifiedAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * Last modified on 2016-02-05 by Riesmeier * */ @@ -67,24 +68,26 @@ OFBool DRTModifiedAttributesSequence::Item::isValid() const } -OFCondition DRTModifiedAttributesSequence::Item::read(DcmItem &item) +OFCondition DRTModifiedAttributesSequence::Item::read(DcmItem & /*item*/) { OFCondition result = EC_IllegalCall; if (!EmptyDefaultItem) { /* re-initialize object */ clear(); + /* manual comment: nothing to do */ result = EC_Normal; } return result; } -OFCondition DRTModifiedAttributesSequence::Item::write(DcmItem &item) +OFCondition DRTModifiedAttributesSequence::Item::write(DcmItem & /*item*/) { OFCondition result = EC_IllegalCall; if (!EmptyDefaultItem) { + /* manual comment: nothing to do */ result = EC_Normal; } return result; diff --git a/dcmrt/libsrc/drtmdrs.cc b/dcmrt/libsrc/drtmdrs.cc index 88cf29e8..bac8e3d6 100644 --- a/dcmrt/libsrc/drtmdrs.cc +++ b/dcmrt/libsrc/drtmdrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTMeasuredDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtmls.cc b/dcmrt/libsrc/drtmls.cc index 8a964e19..af627b04 100644 --- a/dcmrt/libsrc/drtmls.cc +++ b/dcmrt/libsrc/drtmls.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTModalityLUTSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtmps.cc b/dcmrt/libsrc/drtmps.cc index 4b8dafcc..b48bfaa7 100644 --- a/dcmrt/libsrc/drtmps.cc +++ b/dcmrt/libsrc/drtmps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTMACParametersSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtmss.cc b/dcmrt/libsrc/drtmss.cc index 6d665c8d..8879fa6d 100644 --- a/dcmrt/libsrc/drtmss.cc +++ b/dcmrt/libsrc/drtmss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTMotionSynchronizationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtmucs.cc b/dcmrt/libsrc/drtmucs.cc index 3348a967..b995faa8 100644 --- a/dcmrt/libsrc/drtmucs.cc +++ b/dcmrt/libsrc/drtmucs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTMeasurementUnitsCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTMeasurementUnitsCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTMeasurementUnitsCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTMeasurementUnitsCodeSequence::Item &DRTMeasurementUnitsCodeSequence::Item::op ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTMeasurementUnitsCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTMeasurementUnitsCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTMeasurementUnitsCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "MeasurementUnitsCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "MeasurementUnitsCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "MeasurementUnitsCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "MeasurementUnitsCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "MeasurementUnitsCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "MeasurementUnitsCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "MeasurementUnitsCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "MeasurementUnitsCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "MeasurementUnitsCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTMeasurementUnitsCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "MeasurementUnitsCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "MeasurementUnitsCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "MeasurementUnitsCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "MeasurementUnitsCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "MeasurementUnitsCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "MeasurementUnitsCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "MeasurementUnitsCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "MeasurementUnitsCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "MeasurementUnitsCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTMeasurementUnitsCodeSequence::Item::getContextUID(OFString &value } +OFCondition DRTMeasurementUnitsCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTMeasurementUnitsCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTMeasurementUnitsCodeSequence::Item::getMappingResource(OFString & } +OFCondition DRTMeasurementUnitsCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTMeasurementUnitsCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTMeasurementUnitsCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTMeasurementUnitsCodeSequence::Item::setContextUID(const OFString } +OFCondition DRTMeasurementUnitsCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTMeasurementUnitsCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTMeasurementUnitsCodeSequence::Item::setMappingResource(const OFSt } +OFCondition DRTMeasurementUnitsCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTMeasurementUnitsCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTMeasurementUnitsCodeSequence::DRTMeasurementUnitsCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtoas.cc b/dcmrt/libsrc/drtoas.cc index e7ba74af..0685b2ff 100644 --- a/dcmrt/libsrc/drtoas.cc +++ b/dcmrt/libsrc/drtoas.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTOriginalAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtois.cc b/dcmrt/libsrc/drtois.cc index 80fa9c3d..43e4ce2f 100644 --- a/dcmrt/libsrc/drtois.cc +++ b/dcmrt/libsrc/drtois.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTOperatorIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -26,6 +26,7 @@ DRTOperatorIdentificationSequence::Item::Item(const OFBool emptyDefaultItem) InstitutionName(DCM_InstitutionName), PersonAddress(DCM_PersonAddress), PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + PersonTelecomInformation(DCM_PersonTelecomInformation), PersonTelephoneNumbers(DCM_PersonTelephoneNumbers) { } @@ -38,6 +39,7 @@ DRTOperatorIdentificationSequence::Item::Item(const Item ©) InstitutionName(copy.InstitutionName), PersonAddress(copy.PersonAddress), PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence), + PersonTelecomInformation(copy.PersonTelecomInformation), PersonTelephoneNumbers(copy.PersonTelephoneNumbers) { } @@ -58,6 +60,7 @@ DRTOperatorIdentificationSequence::Item &DRTOperatorIdentificationSequence::Item InstitutionName = copy.InstitutionName; PersonAddress = copy.PersonAddress; PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence; + PersonTelecomInformation = copy.PersonTelecomInformation; PersonTelephoneNumbers = copy.PersonTelephoneNumbers; } return *this; @@ -72,6 +75,7 @@ void DRTOperatorIdentificationSequence::Item::clear() PersonIdentificationCodeSequence.clear(); PersonAddress.clear(); PersonTelephoneNumbers.clear(); + PersonTelecomInformation.clear(); InstitutionName.clear(); InstitutionAddress.clear(); InstitutionCodeSequence.clear(); @@ -84,6 +88,7 @@ OFBool DRTOperatorIdentificationSequence::Item::isEmpty() return PersonIdentificationCodeSequence.isEmpty() && PersonAddress.isEmpty() && PersonTelephoneNumbers.isEmpty() && + PersonTelecomInformation.isEmpty() && InstitutionName.isEmpty() && InstitutionAddress.isEmpty() && InstitutionCodeSequence.isEmpty(); @@ -106,6 +111,7 @@ OFCondition DRTOperatorIdentificationSequence::Item::read(DcmItem &item) PersonIdentificationCodeSequence.read(item, "1-n", "1", "OperatorIdentificationSequence"); getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "OperatorIdentificationSequence"); getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "OperatorIdentificationSequence"); + getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "OperatorIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "OperatorIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "OperatorIdentificationSequence"); InstitutionCodeSequence.read(item, "1-n", "1C", "OperatorIdentificationSequence"); @@ -124,6 +130,7 @@ OFCondition DRTOperatorIdentificationSequence::Item::write(DcmItem &item) if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "OperatorIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "OperatorIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "OperatorIdentificationSequence"); + addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "OperatorIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "OperatorIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "OperatorIdentificationSequence"); if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "OperatorIdentificationSequence"); @@ -159,6 +166,15 @@ OFCondition DRTOperatorIdentificationSequence::Item::getPersonAddress(OFString & } +OFCondition DRTOperatorIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonTelecomInformation, value, pos); +} + + OFCondition DRTOperatorIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -207,6 +223,19 @@ OFCondition DRTOperatorIdentificationSequence::Item::setPersonAddress(const OFSt } +OFCondition DRTOperatorIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = PersonTelecomInformation.putOFStringArray(value); + } + return result; +} + + OFCondition DRTOperatorIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtopis.cc b/dcmrt/libsrc/drtopis.cc index e7a963fb..a47bd1ec 100644 --- a/dcmrt/libsrc/drtopis.cc +++ b/dcmrt/libsrc/drtopis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTOtherPatientIDsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtos.cc b/dcmrt/libsrc/drtos.cc index fcbb06c5..81ccc2e0 100644 --- a/dcmrt/libsrc/drtos.cc +++ b/dcmrt/libsrc/drtos.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTOverrideSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtpbcs.cc b/dcmrt/libsrc/drtpbcs.cc index 76de7288..2f410328 100644 --- a/dcmrt/libsrc/drtpbcs.cc +++ b/dcmrt/libsrc/drtpbcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPatientBreedCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTPatientBreedCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTPatientBreedCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTPatientBreedCodeSequence::Item &DRTPatientBreedCodeSequence::Item::operator=( ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTPatientBreedCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTPatientBreedCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTPatientBreedCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PatientBreedCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PatientBreedCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PatientBreedCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PatientBreedCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PatientBreedCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PatientBreedCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PatientBreedCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PatientBreedCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PatientBreedCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTPatientBreedCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PatientBreedCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PatientBreedCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PatientBreedCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PatientBreedCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PatientBreedCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PatientBreedCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PatientBreedCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PatientBreedCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PatientBreedCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTPatientBreedCodeSequence::Item::getContextUID(OFString &value, co } +OFCondition DRTPatientBreedCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTPatientBreedCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTPatientBreedCodeSequence::Item::getMappingResource(OFString &valu } +OFCondition DRTPatientBreedCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTPatientBreedCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTPatientBreedCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTPatientBreedCodeSequence::Item::setContextUID(const OFString &val } +OFCondition DRTPatientBreedCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPatientBreedCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTPatientBreedCodeSequence::Item::setMappingResource(const OFString } +OFCondition DRTPatientBreedCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPatientBreedCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTPatientBreedCodeSequence::DRTPatientBreedCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtpcs.cc b/dcmrt/libsrc/drtpcs.cc index 291ea9a7..d2105448 100644 --- a/dcmrt/libsrc/drtpcs.cc +++ b/dcmrt/libsrc/drtpcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTProcedureCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTProcedureCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTProcedureCodeSequence::Item &DRTProcedureCodeSequence::Item::operator=(const ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTProcedureCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTProcedureCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTProcedureCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ProcedureCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ProcedureCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ProcedureCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ProcedureCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ProcedureCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ProcedureCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTProcedureCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ProcedureCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ProcedureCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ProcedureCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTProcedureCodeSequence::Item::getContextUID(OFString &value, const } +OFCondition DRTProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTProcedureCodeSequence::Item::getMappingResource(OFString &value, } +OFCondition DRTProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTProcedureCodeSequence::Item::setContextUID(const OFString &value, } +OFCondition DRTProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTProcedureCodeSequence::Item::setMappingResource(const OFString &v } +OFCondition DRTProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTProcedureCodeSequence::DRTProcedureCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtpcxs.cc b/dcmrt/libsrc/drtpcxs.cc index 21c8b9ac..b95cebda 100644 --- a/dcmrt/libsrc/drtpcxs.cc +++ b/dcmrt/libsrc/drtpcxs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTProtocolContextSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtpdecs.cc b/dcmrt/libsrc/drtpdecs.cc new file mode 100644 index 00000000..0238804b --- /dev/null +++ b/dcmrt/libsrc/drtpdecs.cc @@ -0,0 +1,630 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class DRTPrivateDataElementCharacteristicsSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/dcmrt/seq/drtpdecs.h" + + +// --- item class --- + +DRTPrivateDataElementCharacteristicsSequence::Item::Item(const OFBool emptyDefaultItem) + : EmptyDefaultItem(emptyDefaultItem), + BlockIdentifyingInformationStatus(DCM_BlockIdentifyingInformationStatus), + DeidentificationActionSequence(emptyDefaultItem /*emptyDefaultSequence*/), + NonidentifyingPrivateElements(DCM_NonidentifyingPrivateElements), + PrivateCreatorReference(DCM_PrivateCreatorReference), + PrivateGroupReference(DCM_PrivateGroupReference) +{ +} + + +DRTPrivateDataElementCharacteristicsSequence::Item::Item(const Item ©) + : EmptyDefaultItem(copy.EmptyDefaultItem), + BlockIdentifyingInformationStatus(copy.BlockIdentifyingInformationStatus), + DeidentificationActionSequence(copy.DeidentificationActionSequence), + NonidentifyingPrivateElements(copy.NonidentifyingPrivateElements), + PrivateCreatorReference(copy.PrivateCreatorReference), + PrivateGroupReference(copy.PrivateGroupReference) +{ +} + + +DRTPrivateDataElementCharacteristicsSequence::Item::~Item() +{ +} + + +DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::Item::operator=(const Item ©) +{ + if (this != ©) + { + EmptyDefaultItem = copy.EmptyDefaultItem; + BlockIdentifyingInformationStatus = copy.BlockIdentifyingInformationStatus; + DeidentificationActionSequence = copy.DeidentificationActionSequence; + NonidentifyingPrivateElements = copy.NonidentifyingPrivateElements; + PrivateCreatorReference = copy.PrivateCreatorReference; + PrivateGroupReference = copy.PrivateGroupReference; + } + return *this; +} + + +void DRTPrivateDataElementCharacteristicsSequence::Item::clear() +{ + if (!EmptyDefaultItem) + { + /* clear all DICOM attributes */ + PrivateGroupReference.clear(); + PrivateCreatorReference.clear(); + BlockIdentifyingInformationStatus.clear(); + NonidentifyingPrivateElements.clear(); + DeidentificationActionSequence.clear(); + } +} + + +OFBool DRTPrivateDataElementCharacteristicsSequence::Item::isEmpty() +{ + return PrivateGroupReference.isEmpty() && + PrivateCreatorReference.isEmpty() && + BlockIdentifyingInformationStatus.isEmpty() && + NonidentifyingPrivateElements.isEmpty() && + DeidentificationActionSequence.isEmpty(); +} + + +OFBool DRTPrivateDataElementCharacteristicsSequence::Item::isValid() const +{ + return !EmptyDefaultItem; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::read(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + /* re-initialize object */ + clear(); + getAndCheckElementFromDataset(item, PrivateGroupReference, "1", "1", "PrivateDataElementCharacteristicsSequence"); + getAndCheckElementFromDataset(item, PrivateCreatorReference, "1", "1", "PrivateDataElementCharacteristicsSequence"); + getAndCheckElementFromDataset(item, BlockIdentifyingInformationStatus, "1", "1", "PrivateDataElementCharacteristicsSequence"); + getAndCheckElementFromDataset(item, NonidentifyingPrivateElements, "1-n", "1C", "PrivateDataElementCharacteristicsSequence"); + DeidentificationActionSequence.read(item, "1-n", "3", "PrivateDataElementCharacteristicsSequence"); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::write(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = EC_Normal; + addElementToDataset(result, item, new DcmUnsignedShort(PrivateGroupReference), "1", "1", "PrivateDataElementCharacteristicsSequence"); + addElementToDataset(result, item, new DcmLongString(PrivateCreatorReference), "1", "1", "PrivateDataElementCharacteristicsSequence"); + addElementToDataset(result, item, new DcmCodeString(BlockIdentifyingInformationStatus), "1", "1", "PrivateDataElementCharacteristicsSequence"); + addElementToDataset(result, item, new DcmUnsignedShort(NonidentifyingPrivateElements), "1-n", "1C", "PrivateDataElementCharacteristicsSequence"); + if (result.good()) result = DeidentificationActionSequence.write(item, "1-n", "3", "PrivateDataElementCharacteristicsSequence"); + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getBlockIdentifyingInformationStatus(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(BlockIdentifyingInformationStatus, value, pos); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getNonidentifyingPrivateElements(Uint16 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmUnsignedShort &, NonidentifyingPrivateElements).getUint16(value, pos); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getPrivateCreatorReference(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PrivateCreatorReference, value, pos); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::getPrivateGroupReference(Uint16 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmUnsignedShort &, PrivateGroupReference).getUint16(value, pos); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setBlockIdentifyingInformationStatus(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = BlockIdentifyingInformationStatus.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setNonidentifyingPrivateElements(const Uint16 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return NonidentifyingPrivateElements.putUint16(value, pos); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setPrivateCreatorReference(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = PrivateCreatorReference.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::Item::setPrivateGroupReference(const Uint16 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return PrivateGroupReference.putUint16(value, pos); +} + + +// --- sequence class --- + +DRTPrivateDataElementCharacteristicsSequence::DRTPrivateDataElementCharacteristicsSequence(const OFBool emptyDefaultSequence) + : EmptyDefaultSequence(emptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + CurrentItem = SequenceOfItems.end(); +} + + +DRTPrivateDataElementCharacteristicsSequence::DRTPrivateDataElementCharacteristicsSequence(const DRTPrivateDataElementCharacteristicsSequence ©) + : EmptyDefaultSequence(copy.EmptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); +} + + +DRTPrivateDataElementCharacteristicsSequence &DRTPrivateDataElementCharacteristicsSequence::operator=(const DRTPrivateDataElementCharacteristicsSequence ©) +{ + if (this != ©) + { + clear(); + EmptyDefaultSequence = copy.EmptyDefaultSequence; + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); + } + return *this; +} + + +DRTPrivateDataElementCharacteristicsSequence::~DRTPrivateDataElementCharacteristicsSequence() +{ + clear(); +} + + +void DRTPrivateDataElementCharacteristicsSequence::clear() +{ + if (!EmptyDefaultSequence) + { + CurrentItem = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* delete all items and free memory */ + while (CurrentItem != last) + { + delete (*CurrentItem); + CurrentItem = SequenceOfItems.erase(CurrentItem); + } + /* make sure that the list is empty */ + SequenceOfItems.clear(); + CurrentItem = SequenceOfItems.end(); + } +} + + +OFBool DRTPrivateDataElementCharacteristicsSequence::isEmpty() +{ + return SequenceOfItems.empty(); +} + + +OFBool DRTPrivateDataElementCharacteristicsSequence::isValid() const +{ + return !EmptyDefaultSequence; +} + + +unsigned long DRTPrivateDataElementCharacteristicsSequence::getNumberOfItems() const +{ + return SequenceOfItems.size(); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoFirstItem() +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + CurrentItem = SequenceOfItems.begin(); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoNextItem() +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + ++CurrentItem; + result = EC_Normal; + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator) +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::gotoItem(const unsigned long num) +{ + return gotoItem(num, CurrentItem); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::getCurrentItem(Item *&item) const +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + item = *CurrentItem; + result = EC_Normal; + } + return result; +} + + +DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getCurrentItem() +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +const DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getCurrentItem() const +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::getItem(const unsigned long num, Item *&item) +{ + OFListIterator(Item *) iterator; + OFCondition result = gotoItem(num, iterator); + if (result.good()) + item = *iterator; + return result; +} + + +DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getItem(const unsigned long num) +{ + OFListIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +const DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::getItem(const unsigned long num) const +{ + OFListConstIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::operator[](const unsigned long num) +{ + return getItem(num); +} + + +const DRTPrivateDataElementCharacteristicsSequence::Item &DRTPrivateDataElementCharacteristicsSequence::operator[](const unsigned long num) const +{ + return getItem(num); +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::addItem(Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.push_back(item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::insertItem(const unsigned long pos, Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + result = gotoItem(pos, iterator); + if (result.good()) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.insert(iterator, 1, item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } else + result = addItem(item); + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::removeItem(const unsigned long pos) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + if (gotoItem(pos, iterator).good()) + { + delete *iterator; + iterator = SequenceOfItems.erase(iterator); + result = EC_Normal; + } else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + /* re-initialize object */ + clear(); + /* retrieve sequence element from dataset */ + DcmSequenceOfItems *sequence; + result = dataset.findAndGetSequence(DCM_PrivateDataElementCharacteristicsSequence, sequence); + if (sequence != NULL) + { + if (checkElementValue(*sequence, card, type, result, moduleName)) + { + DcmStack stack; + OFBool first = OFTrue; + /* iterate over all sequence items */ + while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good()) + { + DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top()); + if (ditem != NULL) + { + Item *item = new Item(); + if (item != NULL) + { + result = item->read(*ditem); + if (result.good()) + { + /* append new item to the end of the list */ + SequenceOfItems.push_back(item); + first = OFFalse; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_CorruptedData; + } + } + } else { + DcmSequenceOfItems element(DCM_PrivateDataElementCharacteristicsSequence); + checkElementValue(element, card, type, result, moduleName); + } + } + return result; +} + + +OFCondition DRTPrivateDataElementCharacteristicsSequence::write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + result = EC_MemoryExhausted; + DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_PrivateDataElementCharacteristicsSequence); + if (sequence != NULL) + { + result = EC_Normal; + /* an empty optional sequence is not written */ + if ((type == "2") || !SequenceOfItems.empty()) + { + OFListIterator(Item *) iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* iterate over all sequence items */ + while (result.good() && (iterator != last)) + { + DcmItem *item = new DcmItem(); + if (item != NULL) + { + /* append new item to the end of the sequence */ + result = sequence->append(item); + if (result.good()) + { + result = (*iterator)->write(*item); + ++iterator; + } else + delete item; + } else + result = EC_MemoryExhausted; + } + if (result.good()) + { + /* insert sequence element into the dataset */ + result = dataset.insert(sequence, OFTrue /*replaceOld*/); + } + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + if (result.good()) + { + /* forget reference to sequence object (avoid deletion below) */ + sequence = NULL; + } + } + else if (type == "1") + { + /* empty type 1 sequence not allowed */ + result = RT_EC_InvalidValue; + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + } + /* delete sequence (if not inserted into the dataset) */ + delete sequence; + } + } + return result; +} + + +// end of source file diff --git a/dcmrt/libsrc/drtpfms.cc b/dcmrt/libsrc/drtpfms.cc index 12202807..0db5bd3d 100644 --- a/dcmrt/libsrc/drtpfms.cc +++ b/dcmrt/libsrc/drtpfms.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPrimaryFluenceModeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtpics.cc b/dcmrt/libsrc/drtpics.cc index c8640096..77b1ad8a 100644 --- a/dcmrt/libsrc/drtpics.cc +++ b/dcmrt/libsrc/drtpics.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPersonIdentificationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTPersonIdentificationCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTPersonIdentificationCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTPersonIdentificationCodeSequence::Item &DRTPersonIdentificationCodeSequence:: ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTPersonIdentificationCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTPersonIdentificationCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTPersonIdentificationCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PersonIdentificationCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PersonIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PersonIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PersonIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PersonIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PersonIdentificationCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PersonIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PersonIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PersonIdentificationCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTPersonIdentificationCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PersonIdentificationCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PersonIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PersonIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PersonIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PersonIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PersonIdentificationCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PersonIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PersonIdentificationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PersonIdentificationCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTPersonIdentificationCodeSequence::Item::getContextUID(OFString &v } +OFCondition DRTPersonIdentificationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTPersonIdentificationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTPersonIdentificationCodeSequence::Item::getMappingResource(OFStri } +OFCondition DRTPersonIdentificationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTPersonIdentificationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTPersonIdentificationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTPersonIdentificationCodeSequence::Item::setContextUID(const OFStr } +OFCondition DRTPersonIdentificationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPersonIdentificationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTPersonIdentificationCodeSequence::Item::setMappingResource(const } +OFCondition DRTPersonIdentificationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPersonIdentificationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTPersonIdentificationCodeSequence::DRTPersonIdentificationCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtplan.cc b/dcmrt/libsrc/drtplan.cc index dd21288f..63968f1d 100644 --- a/dcmrt/libsrc/drtplan.cc +++ b/dcmrt/libsrc/drtplan.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPlanIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -58,6 +58,8 @@ DRTPlanIOD::DRTPlanIOD() StudyTime(DCM_StudyTime), ReferringPhysicianName(DCM_ReferringPhysicianName), ReferringPhysicianIdentificationSequence(), + ConsultingPhysicianName(DCM_ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(), StudyID(DCM_StudyID), AccessionNumber(DCM_AccessionNumber), IssuerOfAccessionNumberSequence(), @@ -176,6 +178,7 @@ DRTPlanIOD::DRTPlanIOD() QueryRetrieveView(DCM_QueryRetrieveView), ConversionSourceAttributesSequence(), ContentQualification(DCM_ContentQualification), + PrivateDataElementCharacteristicsSequence(), ReferencedSeriesSequence(), StudiesContainingOtherReferencedInstancesSequence() { @@ -225,6 +228,8 @@ DRTPlanIOD::DRTPlanIOD(const DRTPlanIOD ©) StudyTime(copy.StudyTime), ReferringPhysicianName(copy.ReferringPhysicianName), ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence), + ConsultingPhysicianName(copy.ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence), StudyID(copy.StudyID), AccessionNumber(copy.AccessionNumber), IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence), @@ -343,6 +348,7 @@ DRTPlanIOD::DRTPlanIOD(const DRTPlanIOD ©) QueryRetrieveView(copy.QueryRetrieveView), ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence), ContentQualification(copy.ContentQualification), + PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence), ReferencedSeriesSequence(copy.ReferencedSeriesSequence), StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence) { @@ -398,6 +404,8 @@ DRTPlanIOD &DRTPlanIOD::operator=(const DRTPlanIOD ©) StudyTime = copy.StudyTime; ReferringPhysicianName = copy.ReferringPhysicianName; ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence; + ConsultingPhysicianName = copy.ConsultingPhysicianName; + ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence; StudyID = copy.StudyID; AccessionNumber = copy.AccessionNumber; IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence; @@ -516,6 +524,7 @@ DRTPlanIOD &DRTPlanIOD::operator=(const DRTPlanIOD ©) QueryRetrieveView = copy.QueryRetrieveView; ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence; ContentQualification = copy.ContentQualification; + PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence; ReferencedSeriesSequence = copy.ReferencedSeriesSequence; StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence; } @@ -566,6 +575,8 @@ void DRTPlanIOD::clear() StudyTime.clear(); ReferringPhysicianName.clear(); ReferringPhysicianIdentificationSequence.clear(); + ConsultingPhysicianName.clear(); + ConsultingPhysicianIdentificationSequence.clear(); StudyID.clear(); AccessionNumber.clear(); IssuerOfAccessionNumberSequence.clear(); @@ -684,6 +695,7 @@ void DRTPlanIOD::clear() QueryRetrieveView.clear(); ConversionSourceAttributesSequence.clear(); ContentQualification.clear(); + PrivateDataElementCharacteristicsSequence.clear(); ReferencedSeriesSequence.clear(); StudiesContainingOtherReferencedInstancesSequence.clear(); } @@ -846,6 +858,7 @@ OFCondition DRTPlanIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule"); ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule"); + PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule"); @@ -920,6 +933,8 @@ OFCondition DRTPlanIOD::readStudyData(DcmItem &dataset) getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule"); ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); + getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule"); + ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule"); IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); @@ -1056,6 +1071,8 @@ OFCondition DRTPlanIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule"); if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); + addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule"); + if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule"); if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); @@ -1238,6 +1255,7 @@ OFCondition DRTPlanIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule"); if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule"); addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule"); + if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/)) @@ -1544,6 +1562,12 @@ OFCondition DRTPlanIOD::getCommentsOnThePerformedProcedureStep(OFString &value, } +OFCondition DRTPlanIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(ConsultingPhysicianName, value, pos); +} + + OFCondition DRTPlanIOD::getContentQualification(OFString &value, const signed long pos) const { return getStringValueFromElement(ContentQualification, value, pos); @@ -2327,6 +2351,15 @@ OFCondition DRTPlanIOD::setCommentsOnThePerformedProcedureStep(const OFString &v } +OFCondition DRTPlanIOD::setConsultingPhysicianName(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = ConsultingPhysicianName.putOFStringArray(value); + return result; +} + + OFCondition DRTPlanIOD::setContentQualification(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; diff --git a/dcmrt/libsrc/drtporcs.cc b/dcmrt/libsrc/drtporcs.cc index 0a5bff2a..7543d603 100644 --- a/dcmrt/libsrc/drtporcs.cc +++ b/dcmrt/libsrc/drtporcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPurposeOfReferenceCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTPurposeOfReferenceCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTPurposeOfReferenceCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTPurposeOfReferenceCodeSequence::Item &DRTPurposeOfReferenceCodeSequence::Item ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTPurposeOfReferenceCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTPurposeOfReferenceCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTPurposeOfReferenceCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PurposeOfReferenceCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PurposeOfReferenceCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PurposeOfReferenceCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PurposeOfReferenceCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PurposeOfReferenceCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PurposeOfReferenceCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PurposeOfReferenceCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PurposeOfReferenceCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PurposeOfReferenceCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTPurposeOfReferenceCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PurposeOfReferenceCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PurposeOfReferenceCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PurposeOfReferenceCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PurposeOfReferenceCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PurposeOfReferenceCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PurposeOfReferenceCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PurposeOfReferenceCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PurposeOfReferenceCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PurposeOfReferenceCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTPurposeOfReferenceCodeSequence::Item::getContextUID(OFString &val } +OFCondition DRTPurposeOfReferenceCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTPurposeOfReferenceCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTPurposeOfReferenceCodeSequence::Item::getMappingResource(OFString } +OFCondition DRTPurposeOfReferenceCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTPurposeOfReferenceCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTPurposeOfReferenceCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTPurposeOfReferenceCodeSequence::Item::setContextUID(const OFStrin } +OFCondition DRTPurposeOfReferenceCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPurposeOfReferenceCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTPurposeOfReferenceCodeSequence::Item::setMappingResource(const OF } +OFCondition DRTPurposeOfReferenceCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPurposeOfReferenceCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTPurposeOfReferenceCodeSequence::DRTPurposeOfReferenceCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtporis.cc b/dcmrt/libsrc/drtporis.cc index b0bfc310..baa1c800 100644 --- a/dcmrt/libsrc/drtporis.cc +++ b/dcmrt/libsrc/drtporis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPhysiciansOfRecordIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -26,6 +26,7 @@ DRTPhysiciansOfRecordIdentificationSequence::Item::Item(const OFBool emptyDefaul InstitutionName(DCM_InstitutionName), PersonAddress(DCM_PersonAddress), PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + PersonTelecomInformation(DCM_PersonTelecomInformation), PersonTelephoneNumbers(DCM_PersonTelephoneNumbers) { } @@ -38,6 +39,7 @@ DRTPhysiciansOfRecordIdentificationSequence::Item::Item(const Item ©) InstitutionName(copy.InstitutionName), PersonAddress(copy.PersonAddress), PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence), + PersonTelecomInformation(copy.PersonTelecomInformation), PersonTelephoneNumbers(copy.PersonTelephoneNumbers) { } @@ -58,6 +60,7 @@ DRTPhysiciansOfRecordIdentificationSequence::Item &DRTPhysiciansOfRecordIdentifi InstitutionName = copy.InstitutionName; PersonAddress = copy.PersonAddress; PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence; + PersonTelecomInformation = copy.PersonTelecomInformation; PersonTelephoneNumbers = copy.PersonTelephoneNumbers; } return *this; @@ -72,6 +75,7 @@ void DRTPhysiciansOfRecordIdentificationSequence::Item::clear() PersonIdentificationCodeSequence.clear(); PersonAddress.clear(); PersonTelephoneNumbers.clear(); + PersonTelecomInformation.clear(); InstitutionName.clear(); InstitutionAddress.clear(); InstitutionCodeSequence.clear(); @@ -84,6 +88,7 @@ OFBool DRTPhysiciansOfRecordIdentificationSequence::Item::isEmpty() return PersonIdentificationCodeSequence.isEmpty() && PersonAddress.isEmpty() && PersonTelephoneNumbers.isEmpty() && + PersonTelecomInformation.isEmpty() && InstitutionName.isEmpty() && InstitutionAddress.isEmpty() && InstitutionCodeSequence.isEmpty(); @@ -106,6 +111,7 @@ OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::read(DcmItem &ite PersonIdentificationCodeSequence.read(item, "1-n", "1", "PhysiciansOfRecordIdentificationSequence"); getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "PhysiciansOfRecordIdentificationSequence"); getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "PhysiciansOfRecordIdentificationSequence"); + getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "PhysiciansOfRecordIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "PhysiciansOfRecordIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "PhysiciansOfRecordIdentificationSequence"); InstitutionCodeSequence.read(item, "1-n", "1C", "PhysiciansOfRecordIdentificationSequence"); @@ -124,6 +130,7 @@ OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::write(DcmItem &it if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "PhysiciansOfRecordIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "PhysiciansOfRecordIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "PhysiciansOfRecordIdentificationSequence"); + addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "PhysiciansOfRecordIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "PhysiciansOfRecordIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "PhysiciansOfRecordIdentificationSequence"); if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "PhysiciansOfRecordIdentificationSequence"); @@ -159,6 +166,15 @@ OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::getPersonAddress( } +OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonTelecomInformation, value, pos); +} + + OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -207,6 +223,19 @@ OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::setPersonAddress( } +OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = PersonTelecomInformation.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPhysiciansOfRecordIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtppcs.cc b/dcmrt/libsrc/drtppcs.cc index 98b049b7..9180bdd7 100644 --- a/dcmrt/libsrc/drtppcs.cc +++ b/dcmrt/libsrc/drtppcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPerformedProtocolCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,8 +31,12 @@ DRTPerformedProtocolCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), MappingResource(DCM_MappingResource), - ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/) + MappingResourceUID(DCM_MappingResourceUID), + ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/), + URNCodeValue(DCM_URNCodeValue) { } @@ -49,8 +53,12 @@ DRTPerformedProtocolCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), MappingResource(copy.MappingResource), - ProtocolContextSequence(copy.ProtocolContextSequence) + MappingResourceUID(copy.MappingResourceUID), + ProtocolContextSequence(copy.ProtocolContextSequence), + URNCodeValue(copy.URNCodeValue) { } @@ -75,8 +83,12 @@ DRTPerformedProtocolCodeSequence::Item &DRTPerformedProtocolCodeSequence::Item:: ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; ProtocolContextSequence = copy.ProtocolContextSequence; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -91,9 +103,13 @@ void DRTPerformedProtocolCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -109,9 +125,13 @@ OFBool DRTPerformedProtocolCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -133,13 +153,17 @@ OFCondition DRTPerformedProtocolCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PerformedProtocolCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PerformedProtocolCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PerformedProtocolCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PerformedProtocolCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PerformedProtocolCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PerformedProtocolCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PerformedProtocolCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PerformedProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PerformedProtocolCodeSequence"); @@ -157,13 +181,17 @@ OFCondition DRTPerformedProtocolCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PerformedProtocolCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PerformedProtocolCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PerformedProtocolCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PerformedProtocolCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PerformedProtocolCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PerformedProtocolCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PerformedProtocolCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PerformedProtocolCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PerformedProtocolCodeSequence"); @@ -264,6 +292,15 @@ OFCondition DRTPerformedProtocolCodeSequence::Item::getContextUID(OFString &valu } +OFCondition DRTPerformedProtocolCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTPerformedProtocolCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -273,6 +310,24 @@ OFCondition DRTPerformedProtocolCodeSequence::Item::getMappingResource(OFString } +OFCondition DRTPerformedProtocolCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTPerformedProtocolCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTPerformedProtocolCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -403,6 +458,19 @@ OFCondition DRTPerformedProtocolCodeSequence::Item::setContextUID(const OFString } +OFCondition DRTPerformedProtocolCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPerformedProtocolCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -416,6 +484,32 @@ OFCondition DRTPerformedProtocolCodeSequence::Item::setMappingResource(const OFS } +OFCondition DRTPerformedProtocolCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPerformedProtocolCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTPerformedProtocolCodeSequence::DRTPerformedProtocolCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtprsis.cc b/dcmrt/libsrc/drtprsis.cc index aa4ab44a..bb30d25b 100644 --- a/dcmrt/libsrc/drtprsis.cc +++ b/dcmrt/libsrc/drtprsis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPhysiciansReadingStudyIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -26,6 +26,7 @@ DRTPhysiciansReadingStudyIdentificationSequence::Item::Item(const OFBool emptyDe InstitutionName(DCM_InstitutionName), PersonAddress(DCM_PersonAddress), PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + PersonTelecomInformation(DCM_PersonTelecomInformation), PersonTelephoneNumbers(DCM_PersonTelephoneNumbers) { } @@ -38,6 +39,7 @@ DRTPhysiciansReadingStudyIdentificationSequence::Item::Item(const Item ©) InstitutionName(copy.InstitutionName), PersonAddress(copy.PersonAddress), PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence), + PersonTelecomInformation(copy.PersonTelecomInformation), PersonTelephoneNumbers(copy.PersonTelephoneNumbers) { } @@ -58,6 +60,7 @@ DRTPhysiciansReadingStudyIdentificationSequence::Item &DRTPhysiciansReadingStudy InstitutionName = copy.InstitutionName; PersonAddress = copy.PersonAddress; PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence; + PersonTelecomInformation = copy.PersonTelecomInformation; PersonTelephoneNumbers = copy.PersonTelephoneNumbers; } return *this; @@ -72,6 +75,7 @@ void DRTPhysiciansReadingStudyIdentificationSequence::Item::clear() PersonIdentificationCodeSequence.clear(); PersonAddress.clear(); PersonTelephoneNumbers.clear(); + PersonTelecomInformation.clear(); InstitutionName.clear(); InstitutionAddress.clear(); InstitutionCodeSequence.clear(); @@ -84,6 +88,7 @@ OFBool DRTPhysiciansReadingStudyIdentificationSequence::Item::isEmpty() return PersonIdentificationCodeSequence.isEmpty() && PersonAddress.isEmpty() && PersonTelephoneNumbers.isEmpty() && + PersonTelecomInformation.isEmpty() && InstitutionName.isEmpty() && InstitutionAddress.isEmpty() && InstitutionCodeSequence.isEmpty(); @@ -106,6 +111,7 @@ OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::read(DcmItem PersonIdentificationCodeSequence.read(item, "1-n", "1", "PhysiciansReadingStudyIdentificationSequence"); getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "PhysiciansReadingStudyIdentificationSequence"); getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "PhysiciansReadingStudyIdentificationSequence"); + getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "PhysiciansReadingStudyIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "PhysiciansReadingStudyIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "PhysiciansReadingStudyIdentificationSequence"); InstitutionCodeSequence.read(item, "1-n", "1C", "PhysiciansReadingStudyIdentificationSequence"); @@ -124,6 +130,7 @@ OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::write(DcmItem if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "PhysiciansReadingStudyIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "PhysiciansReadingStudyIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "PhysiciansReadingStudyIdentificationSequence"); + addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "PhysiciansReadingStudyIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "PhysiciansReadingStudyIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "PhysiciansReadingStudyIdentificationSequence"); if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "PhysiciansReadingStudyIdentificationSequence"); @@ -159,6 +166,15 @@ OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::getPersonAddr } +OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonTelecomInformation, value, pos); +} + + OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -207,6 +223,19 @@ OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::setPersonAddr } +OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = PersonTelecomInformation.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPhysiciansReadingStudyIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtpscs.cc b/dcmrt/libsrc/drtpscs.cc index a65b7eb1..8ea54802 100644 --- a/dcmrt/libsrc/drtpscs.cc +++ b/dcmrt/libsrc/drtpscs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPatientSpeciesCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTPatientSpeciesCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTPatientSpeciesCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTPatientSpeciesCodeSequence::Item &DRTPatientSpeciesCodeSequence::Item::operat ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTPatientSpeciesCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTPatientSpeciesCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTPatientSpeciesCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PatientSpeciesCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PatientSpeciesCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PatientSpeciesCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PatientSpeciesCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PatientSpeciesCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PatientSpeciesCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PatientSpeciesCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PatientSpeciesCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PatientSpeciesCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTPatientSpeciesCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PatientSpeciesCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PatientSpeciesCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PatientSpeciesCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PatientSpeciesCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PatientSpeciesCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PatientSpeciesCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PatientSpeciesCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PatientSpeciesCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PatientSpeciesCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTPatientSpeciesCodeSequence::Item::getContextUID(OFString &value, } +OFCondition DRTPatientSpeciesCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTPatientSpeciesCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTPatientSpeciesCodeSequence::Item::getMappingResource(OFString &va } +OFCondition DRTPatientSpeciesCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTPatientSpeciesCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTPatientSpeciesCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTPatientSpeciesCodeSequence::Item::setContextUID(const OFString &v } +OFCondition DRTPatientSpeciesCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPatientSpeciesCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTPatientSpeciesCodeSequence::Item::setMappingResource(const OFStri } +OFCondition DRTPatientSpeciesCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPatientSpeciesCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTPatientSpeciesCodeSequence::DRTPatientSpeciesCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtpsics.cc b/dcmrt/libsrc/drtpsics.cc index f34e8e30..d35b732a 100644 --- a/dcmrt/libsrc/drtpsics.cc +++ b/dcmrt/libsrc/drtpsics.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPatientSizeCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTPatientSizeCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTPatientSizeCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTPatientSizeCodeSequence::Item &DRTPatientSizeCodeSequence::Item::operator=(co ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTPatientSizeCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTPatientSizeCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTPatientSizeCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "PatientSizeCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "PatientSizeCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "PatientSizeCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "PatientSizeCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "PatientSizeCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "PatientSizeCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "PatientSizeCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "PatientSizeCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "PatientSizeCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTPatientSizeCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "PatientSizeCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "PatientSizeCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "PatientSizeCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "PatientSizeCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "PatientSizeCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "PatientSizeCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "PatientSizeCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "PatientSizeCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "PatientSizeCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTPatientSizeCodeSequence::Item::getContextUID(OFString &value, con } +OFCondition DRTPatientSizeCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTPatientSizeCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTPatientSizeCodeSequence::Item::getMappingResource(OFString &value } +OFCondition DRTPatientSizeCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTPatientSizeCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTPatientSizeCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTPatientSizeCodeSequence::Item::setContextUID(const OFString &valu } +OFCondition DRTPatientSizeCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTPatientSizeCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTPatientSizeCodeSequence::Item::setMappingResource(const OFString } +OFCondition DRTPatientSizeCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTPatientSizeCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTPatientSizeCodeSequence::DRTPatientSizeCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtpss.cc b/dcmrt/libsrc/drtpss.cc index 8dd4a3d0..d33128f2 100644 --- a/dcmrt/libsrc/drtpss.cc +++ b/dcmrt/libsrc/drtpss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPatientSetupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtpsss.cc b/dcmrt/libsrc/drtpsss.cc index d2d6eafe..e036f820 100644 --- a/dcmrt/libsrc/drtpsss.cc +++ b/dcmrt/libsrc/drtpsss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPredecessorStructureSetSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtpvis.cc b/dcmrt/libsrc/drtpvis.cc index 07a157cd..11689b3f 100644 --- a/dcmrt/libsrc/drtpvis.cc +++ b/dcmrt/libsrc/drtpvis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTPlannedVerificationImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtqds.cc b/dcmrt/libsrc/drtqds.cc new file mode 100644 index 00000000..2f35e338 --- /dev/null +++ b/dcmrt/libsrc/drtqds.cc @@ -0,0 +1,868 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class DRTQuantityDefinitionSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/dcmrt/seq/drtqds.h" + + +// --- item class --- + +DRTQuantityDefinitionSequence::Item::Item(const OFBool emptyDefaultItem) + : EmptyDefaultItem(emptyDefaultItem), + ConceptCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + ConceptNameCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + Date(DCM_Date), + DateTime(DCM_DateTime), + FloatingPointValue(DCM_FloatingPointValue), + MeasurementUnitsCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + NumericValue(DCM_NumericValue), + PersonName(DCM_PersonName), + RationalDenominatorValue(DCM_RationalDenominatorValue), + RationalNumeratorValue(DCM_RationalNumeratorValue), + ReferencedSOPSequence(emptyDefaultItem /*emptyDefaultSequence*/), + TextValue(DCM_TextValue), + Time(DCM_Time), + UID(DCM_UID), + ValueType(DCM_ValueType) +{ +} + + +DRTQuantityDefinitionSequence::Item::Item(const Item ©) + : EmptyDefaultItem(copy.EmptyDefaultItem), + ConceptCodeSequence(copy.ConceptCodeSequence), + ConceptNameCodeSequence(copy.ConceptNameCodeSequence), + Date(copy.Date), + DateTime(copy.DateTime), + FloatingPointValue(copy.FloatingPointValue), + MeasurementUnitsCodeSequence(copy.MeasurementUnitsCodeSequence), + NumericValue(copy.NumericValue), + PersonName(copy.PersonName), + RationalDenominatorValue(copy.RationalDenominatorValue), + RationalNumeratorValue(copy.RationalNumeratorValue), + ReferencedSOPSequence(copy.ReferencedSOPSequence), + TextValue(copy.TextValue), + Time(copy.Time), + UID(copy.UID), + ValueType(copy.ValueType) +{ +} + + +DRTQuantityDefinitionSequence::Item::~Item() +{ +} + + +DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::Item::operator=(const Item ©) +{ + if (this != ©) + { + EmptyDefaultItem = copy.EmptyDefaultItem; + ConceptCodeSequence = copy.ConceptCodeSequence; + ConceptNameCodeSequence = copy.ConceptNameCodeSequence; + Date = copy.Date; + DateTime = copy.DateTime; + FloatingPointValue = copy.FloatingPointValue; + MeasurementUnitsCodeSequence = copy.MeasurementUnitsCodeSequence; + NumericValue = copy.NumericValue; + PersonName = copy.PersonName; + RationalDenominatorValue = copy.RationalDenominatorValue; + RationalNumeratorValue = copy.RationalNumeratorValue; + ReferencedSOPSequence = copy.ReferencedSOPSequence; + TextValue = copy.TextValue; + Time = copy.Time; + UID = copy.UID; + ValueType = copy.ValueType; + } + return *this; +} + + +void DRTQuantityDefinitionSequence::Item::clear() +{ + if (!EmptyDefaultItem) + { + /* clear all DICOM attributes */ + ValueType.clear(); + ConceptNameCodeSequence.clear(); + DateTime.clear(); + Date.clear(); + Time.clear(); + PersonName.clear(); + UID.clear(); + TextValue.clear(); + ConceptCodeSequence.clear(); + NumericValue.clear(); + FloatingPointValue.clear(); + RationalNumeratorValue.clear(); + RationalDenominatorValue.clear(); + MeasurementUnitsCodeSequence.clear(); + ReferencedSOPSequence.clear(); + } +} + + +OFBool DRTQuantityDefinitionSequence::Item::isEmpty() +{ + return ValueType.isEmpty() && + ConceptNameCodeSequence.isEmpty() && + DateTime.isEmpty() && + Date.isEmpty() && + Time.isEmpty() && + PersonName.isEmpty() && + UID.isEmpty() && + TextValue.isEmpty() && + ConceptCodeSequence.isEmpty() && + NumericValue.isEmpty() && + FloatingPointValue.isEmpty() && + RationalNumeratorValue.isEmpty() && + RationalDenominatorValue.isEmpty() && + MeasurementUnitsCodeSequence.isEmpty() && + ReferencedSOPSequence.isEmpty(); +} + + +OFBool DRTQuantityDefinitionSequence::Item::isValid() const +{ + return !EmptyDefaultItem; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::read(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + /* re-initialize object */ + clear(); + getAndCheckElementFromDataset(item, ValueType, "1", "1", "QuantityDefinitionSequence"); + ConceptNameCodeSequence.read(item, "1-n", "1", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, DateTime, "1", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, Date, "1", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, Time, "1", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, PersonName, "1", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, UID, "1", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, TextValue, "1", "1C", "QuantityDefinitionSequence"); + ConceptCodeSequence.read(item, "1-n", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, NumericValue, "1-n", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, FloatingPointValue, "1-n", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, RationalNumeratorValue, "1-n", "1C", "QuantityDefinitionSequence"); + getAndCheckElementFromDataset(item, RationalDenominatorValue, "1-n", "1C", "QuantityDefinitionSequence"); + MeasurementUnitsCodeSequence.read(item, "1-n", "1C", "QuantityDefinitionSequence"); + ReferencedSOPSequence.read(item, "1-n", "1C", "QuantityDefinitionSequence"); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::write(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = EC_Normal; + addElementToDataset(result, item, new DcmCodeString(ValueType), "1", "1", "QuantityDefinitionSequence"); + if (result.good()) result = ConceptNameCodeSequence.write(item, "1-n", "1", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmDateTime(DateTime), "1", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmDate(Date), "1", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmTime(Time), "1", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmPersonName(PersonName), "1", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(UID), "1", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmUnlimitedText(TextValue), "1", "1C", "QuantityDefinitionSequence"); + if (result.good()) result = ConceptCodeSequence.write(item, "1-n", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmDecimalString(NumericValue), "1-n", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmFloatingPointDouble(FloatingPointValue), "1-n", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmSignedLong(RationalNumeratorValue), "1-n", "1C", "QuantityDefinitionSequence"); + addElementToDataset(result, item, new DcmUnsignedLong(RationalDenominatorValue), "1-n", "1C", "QuantityDefinitionSequence"); + if (result.good()) result = MeasurementUnitsCodeSequence.write(item, "1-n", "1C", "QuantityDefinitionSequence"); + if (result.good()) result = ReferencedSOPSequence.write(item, "1-n", "1C", "QuantityDefinitionSequence"); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getDate(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(Date, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getDateTime(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(DateTime, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getFloatingPointValue(Float64 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmFloatingPointDouble &, FloatingPointValue).getFloat64(value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getNumericValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(NumericValue, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getNumericValue(Float64 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmDecimalString &, NumericValue).getFloat64(value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getNumericValue(OFVector &value) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmDecimalString &, NumericValue).getFloat64Vector(value); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getPersonName(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonName, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getRationalDenominatorValue(Uint32 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmUnsignedLong &, RationalDenominatorValue).getUint32(value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getRationalNumeratorValue(Sint32 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmSignedLong &, RationalNumeratorValue).getSint32(value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getTextValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(TextValue, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getTime(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(Time, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(UID, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::getValueType(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(ValueType, value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setDate(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmDate::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = Date.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setDateTime(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmDateTime::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = DateTime.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setFloatingPointValue(const Float64 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return FloatingPointValue.putFloat64(value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setNumericValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmDecimalString::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = NumericValue.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setPersonName(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmPersonName::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = PersonName.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setRationalDenominatorValue(const Uint32 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return RationalDenominatorValue.putUint32(value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setRationalNumeratorValue(const Sint32 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return RationalNumeratorValue.putSint32(value, pos); +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setTextValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = TextValue.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setTime(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmTime::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = Time.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = UID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::Item::setValueType(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = ValueType.putOFStringArray(value); + } + return result; +} + + +// --- sequence class --- + +DRTQuantityDefinitionSequence::DRTQuantityDefinitionSequence(const OFBool emptyDefaultSequence) + : EmptyDefaultSequence(emptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + CurrentItem = SequenceOfItems.end(); +} + + +DRTQuantityDefinitionSequence::DRTQuantityDefinitionSequence(const DRTQuantityDefinitionSequence ©) + : EmptyDefaultSequence(copy.EmptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); +} + + +DRTQuantityDefinitionSequence &DRTQuantityDefinitionSequence::operator=(const DRTQuantityDefinitionSequence ©) +{ + if (this != ©) + { + clear(); + EmptyDefaultSequence = copy.EmptyDefaultSequence; + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); + } + return *this; +} + + +DRTQuantityDefinitionSequence::~DRTQuantityDefinitionSequence() +{ + clear(); +} + + +void DRTQuantityDefinitionSequence::clear() +{ + if (!EmptyDefaultSequence) + { + CurrentItem = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* delete all items and free memory */ + while (CurrentItem != last) + { + delete (*CurrentItem); + CurrentItem = SequenceOfItems.erase(CurrentItem); + } + /* make sure that the list is empty */ + SequenceOfItems.clear(); + CurrentItem = SequenceOfItems.end(); + } +} + + +OFBool DRTQuantityDefinitionSequence::isEmpty() +{ + return SequenceOfItems.empty(); +} + + +OFBool DRTQuantityDefinitionSequence::isValid() const +{ + return !EmptyDefaultSequence; +} + + +unsigned long DRTQuantityDefinitionSequence::getNumberOfItems() const +{ + return SequenceOfItems.size(); +} + + +OFCondition DRTQuantityDefinitionSequence::gotoFirstItem() +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + CurrentItem = SequenceOfItems.begin(); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::gotoNextItem() +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + ++CurrentItem; + result = EC_Normal; + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator) +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::gotoItem(const unsigned long num) +{ + return gotoItem(num, CurrentItem); +} + + +OFCondition DRTQuantityDefinitionSequence::getCurrentItem(Item *&item) const +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + item = *CurrentItem; + result = EC_Normal; + } + return result; +} + + +DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getCurrentItem() +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +const DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getCurrentItem() const +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +OFCondition DRTQuantityDefinitionSequence::getItem(const unsigned long num, Item *&item) +{ + OFListIterator(Item *) iterator; + OFCondition result = gotoItem(num, iterator); + if (result.good()) + item = *iterator; + return result; +} + + +DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getItem(const unsigned long num) +{ + OFListIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +const DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::getItem(const unsigned long num) const +{ + OFListConstIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::operator[](const unsigned long num) +{ + return getItem(num); +} + + +const DRTQuantityDefinitionSequence::Item &DRTQuantityDefinitionSequence::operator[](const unsigned long num) const +{ + return getItem(num); +} + + +OFCondition DRTQuantityDefinitionSequence::addItem(Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.push_back(item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::insertItem(const unsigned long pos, Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + result = gotoItem(pos, iterator); + if (result.good()) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.insert(iterator, 1, item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } else + result = addItem(item); + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::removeItem(const unsigned long pos) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + if (gotoItem(pos, iterator).good()) + { + delete *iterator; + iterator = SequenceOfItems.erase(iterator); + result = EC_Normal; + } else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + /* re-initialize object */ + clear(); + /* retrieve sequence element from dataset */ + DcmSequenceOfItems *sequence; + result = dataset.findAndGetSequence(DCM_QuantityDefinitionSequence, sequence); + if (sequence != NULL) + { + if (checkElementValue(*sequence, card, type, result, moduleName)) + { + DcmStack stack; + OFBool first = OFTrue; + /* iterate over all sequence items */ + while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good()) + { + DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top()); + if (ditem != NULL) + { + Item *item = new Item(); + if (item != NULL) + { + result = item->read(*ditem); + if (result.good()) + { + /* append new item to the end of the list */ + SequenceOfItems.push_back(item); + first = OFFalse; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_CorruptedData; + } + } + } else { + DcmSequenceOfItems element(DCM_QuantityDefinitionSequence); + checkElementValue(element, card, type, result, moduleName); + } + } + return result; +} + + +OFCondition DRTQuantityDefinitionSequence::write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + result = EC_MemoryExhausted; + DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_QuantityDefinitionSequence); + if (sequence != NULL) + { + result = EC_Normal; + /* an empty optional sequence is not written */ + if ((type == "2") || !SequenceOfItems.empty()) + { + OFListIterator(Item *) iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* iterate over all sequence items */ + while (result.good() && (iterator != last)) + { + DcmItem *item = new DcmItem(); + if (item != NULL) + { + /* append new item to the end of the sequence */ + result = sequence->append(item); + if (result.good()) + { + result = (*iterator)->write(*item); + ++iterator; + } else + delete item; + } else + result = EC_MemoryExhausted; + } + if (result.good()) + { + /* insert sequence element into the dataset */ + result = dataset.insert(sequence, OFTrue /*replaceOld*/); + } + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + if (result.good()) + { + /* forget reference to sequence object (avoid deletion below) */ + sequence = NULL; + } + } + else if (type == "1") + { + /* empty type 1 sequence not allowed */ + result = RT_EC_InvalidValue; + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + } + /* delete sequence (if not inserted into the dataset) */ + delete sequence; + } + } + return result; +} + + +// end of source file diff --git a/dcmrt/libsrc/drtras.cc b/dcmrt/libsrc/drtras.cc index 22fbf617..5f9a1e70 100644 --- a/dcmrt/libsrc/drtras.cc +++ b/dcmrt/libsrc/drtras.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRequestAttributesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbas2.cc b/dcmrt/libsrc/drtrbas2.cc index 368a0095..361f0c57 100644 --- a/dcmrt/libsrc/drtrbas2.cc +++ b/dcmrt/libsrc/drtrbas2.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBrachyApplicationSetupSequenceInRTDoseModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbas8.cc b/dcmrt/libsrc/drtrbas8.cc index 74fd8cc8..58051ea3 100644 --- a/dcmrt/libsrc/drtrbas8.cc +++ b/dcmrt/libsrc/drtrbas8.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbls.cc b/dcmrt/libsrc/drtrbls.cc index c6a8371f..53254281 100644 --- a/dcmrt/libsrc/drtrbls.cc +++ b/dcmrt/libsrc/drtrbls.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRecordedBlockSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbos1.cc b/dcmrt/libsrc/drtrbos1.cc index 24d8834b..aae8b6ad 100644 --- a/dcmrt/libsrc/drtrbos1.cc +++ b/dcmrt/libsrc/drtrbos1.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBolusSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbos6.cc b/dcmrt/libsrc/drtrbos6.cc index 462e6bbb..306e642e 100644 --- a/dcmrt/libsrc/drtrbos6.cc +++ b/dcmrt/libsrc/drtrbos6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBolusSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbos7.cc b/dcmrt/libsrc/drtrbos7.cc index eaa746ce..3b04a4c0 100644 --- a/dcmrt/libsrc/drtrbos7.cc +++ b/dcmrt/libsrc/drtrbos7.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBolusSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbs2.cc b/dcmrt/libsrc/drtrbs2.cc index 0574c66d..67a0c564 100644 --- a/dcmrt/libsrc/drtrbs2.cc +++ b/dcmrt/libsrc/drtrbs2.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBeamSequenceInRTDoseModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbs4.cc b/dcmrt/libsrc/drtrbs4.cc index 92f91b0a..54bc29ee 100644 --- a/dcmrt/libsrc/drtrbs4.cc +++ b/dcmrt/libsrc/drtrbs4.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBeamSequenceInRTGeneralTreatmentRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrbs8.cc b/dcmrt/libsrc/drtrbs8.cc index dfd4a6f4..e2b26616 100644 --- a/dcmrt/libsrc/drtrbs8.cc +++ b/dcmrt/libsrc/drtrbs8.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedBeamSequenceInRTFractionSchemeModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrcdrs.cc b/dcmrt/libsrc/drtrcdrs.cc index 569d55ad..acad21e3 100644 --- a/dcmrt/libsrc/drtrcdrs.cc +++ b/dcmrt/libsrc/drtrcdrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedCalculatedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrcos.cc b/dcmrt/libsrc/drtrcos.cc index 6e95d0ac..0b3b03b0 100644 --- a/dcmrt/libsrc/drtrcos.cc +++ b/dcmrt/libsrc/drtrcos.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRecordedCompensatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrcps.cc b/dcmrt/libsrc/drtrcps.cc index bbd04680..c115babb 100644 --- a/dcmrt/libsrc/drtrcps.cc +++ b/dcmrt/libsrc/drtrcps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedControlPointSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrcs.cc b/dcmrt/libsrc/drtrcs.cc index 294c357e..b64abf7e 100644 --- a/dcmrt/libsrc/drtrcs.cc +++ b/dcmrt/libsrc/drtrcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTROIContourSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -23,6 +23,8 @@ DRTROIContourSequence::Item::Item(const OFBool emptyDefaultItem) : EmptyDefaultItem(emptyDefaultItem), ContourSequence(emptyDefaultItem /*emptyDefaultSequence*/), ROIDisplayColor(DCM_ROIDisplayColor), + RecommendedDisplayCIELabValue(DCM_RecommendedDisplayCIELabValue), + RecommendedDisplayGrayscaleValue(DCM_RecommendedDisplayGrayscaleValue), ReferencedROINumber(DCM_ReferencedROINumber) { } @@ -32,6 +34,8 @@ DRTROIContourSequence::Item::Item(const Item ©) : EmptyDefaultItem(copy.EmptyDefaultItem), ContourSequence(copy.ContourSequence), ROIDisplayColor(copy.ROIDisplayColor), + RecommendedDisplayCIELabValue(copy.RecommendedDisplayCIELabValue), + RecommendedDisplayGrayscaleValue(copy.RecommendedDisplayGrayscaleValue), ReferencedROINumber(copy.ReferencedROINumber) { } @@ -49,6 +53,8 @@ DRTROIContourSequence::Item &DRTROIContourSequence::Item::operator=(const Item & EmptyDefaultItem = copy.EmptyDefaultItem; ContourSequence = copy.ContourSequence; ROIDisplayColor = copy.ROIDisplayColor; + RecommendedDisplayCIELabValue = copy.RecommendedDisplayCIELabValue; + RecommendedDisplayGrayscaleValue = copy.RecommendedDisplayGrayscaleValue; ReferencedROINumber = copy.ReferencedROINumber; } return *this; @@ -62,6 +68,8 @@ void DRTROIContourSequence::Item::clear() /* clear all DICOM attributes */ ReferencedROINumber.clear(); ROIDisplayColor.clear(); + RecommendedDisplayGrayscaleValue.clear(); + RecommendedDisplayCIELabValue.clear(); ContourSequence.clear(); } } @@ -71,6 +79,8 @@ OFBool DRTROIContourSequence::Item::isEmpty() { return ReferencedROINumber.isEmpty() && ROIDisplayColor.isEmpty() && + RecommendedDisplayGrayscaleValue.isEmpty() && + RecommendedDisplayCIELabValue.isEmpty() && ContourSequence.isEmpty(); } @@ -90,6 +100,8 @@ OFCondition DRTROIContourSequence::Item::read(DcmItem &item) clear(); getAndCheckElementFromDataset(item, ReferencedROINumber, "1", "1", "ROIContourSequence"); getAndCheckElementFromDataset(item, ROIDisplayColor, "3", "3", "ROIContourSequence"); + getAndCheckElementFromDataset(item, RecommendedDisplayGrayscaleValue, "1", "3", "ROIContourSequence"); + getAndCheckElementFromDataset(item, RecommendedDisplayCIELabValue, "3", "3", "ROIContourSequence"); ContourSequence.read(item, "1-n", "3", "ROIContourSequence"); result = EC_Normal; } @@ -105,6 +117,8 @@ OFCondition DRTROIContourSequence::Item::write(DcmItem &item) result = EC_Normal; addElementToDataset(result, item, new DcmIntegerString(ReferencedROINumber), "1", "1", "ROIContourSequence"); addElementToDataset(result, item, new DcmIntegerString(ROIDisplayColor), "3", "3", "ROIContourSequence"); + addElementToDataset(result, item, new DcmUnsignedShort(RecommendedDisplayGrayscaleValue), "1", "3", "ROIContourSequence"); + addElementToDataset(result, item, new DcmUnsignedShort(RecommendedDisplayCIELabValue), "3", "3", "ROIContourSequence"); if (result.good()) result = ContourSequence.write(item, "1-n", "3", "ROIContourSequence"); } return result; @@ -129,6 +143,24 @@ OFCondition DRTROIContourSequence::Item::getROIDisplayColor(Sint32 &value, const } +OFCondition DRTROIContourSequence::Item::getRecommendedDisplayCIELabValue(Uint16 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmUnsignedShort &, RecommendedDisplayCIELabValue).getUint16(value, pos); +} + + +OFCondition DRTROIContourSequence::Item::getRecommendedDisplayGrayscaleValue(Uint16 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmUnsignedShort &, RecommendedDisplayGrayscaleValue).getUint16(value, pos); +} + + OFCondition DRTROIContourSequence::Item::getReferencedROINumber(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -160,6 +192,24 @@ OFCondition DRTROIContourSequence::Item::setROIDisplayColor(const OFString &valu } +OFCondition DRTROIContourSequence::Item::setRecommendedDisplayCIELabValue(const Uint16 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return RecommendedDisplayCIELabValue.putUint16(value, pos); +} + + +OFCondition DRTROIContourSequence::Item::setRecommendedDisplayGrayscaleValue(const Uint16 value, const unsigned long pos) +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return RecommendedDisplayGrayscaleValue.putUint16(value, pos); +} + + OFCondition DRTROIContourSequence::Item::setReferencedROINumber(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtrdros.cc b/dcmrt/libsrc/drtrdros.cc index 9c3e30af..d2f0e91f 100644 --- a/dcmrt/libsrc/drtrdros.cc +++ b/dcmrt/libsrc/drtrdros.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRTDoseROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrdrs1.cc b/dcmrt/libsrc/drtrdrs1.cc index a5c35fec..4cd20b70 100644 --- a/dcmrt/libsrc/drtrdrs1.cc +++ b/dcmrt/libsrc/drtrdrs1.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedDoseReferenceSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrdrs6.cc b/dcmrt/libsrc/drtrdrs6.cc index bc583f24..00610038 100644 --- a/dcmrt/libsrc/drtrdrs6.cc +++ b/dcmrt/libsrc/drtrdrs6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedDoseReferenceSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrdrs8.cc b/dcmrt/libsrc/drtrdrs8.cc index b6e9d398..0dadddd9 100644 --- a/dcmrt/libsrc/drtrdrs8.cc +++ b/dcmrt/libsrc/drtrdrs8.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrds.cc b/dcmrt/libsrc/drtrds.cc index bc8e592c..9db4526f 100644 --- a/dcmrt/libsrc/drtrds.cc +++ b/dcmrt/libsrc/drtrds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedDoseSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrecs.cc b/dcmrt/libsrc/drtrecs.cc index c06bc61b..ec67009a 100644 --- a/dcmrt/libsrc/drtrecs.cc +++ b/dcmrt/libsrc/drtrecs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTROIElementalCompositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrfgs.cc b/dcmrt/libsrc/drtrfgs.cc index 93d97337..e82a2865 100644 --- a/dcmrt/libsrc/drtrfgs.cc +++ b/dcmrt/libsrc/drtrfgs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedFractionGroupSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrfors.cc b/dcmrt/libsrc/drtrfors.cc index f9a63ff8..a8b33d04 100644 --- a/dcmrt/libsrc/drtrfors.cc +++ b/dcmrt/libsrc/drtrfors.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedFrameOfReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrics.cc b/dcmrt/libsrc/drtrics.cc index af73b44c..8b21d114 100644 --- a/dcmrt/libsrc/drtrics.cc +++ b/dcmrt/libsrc/drtrics.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRTROIIdentificationCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTRTROIIdentificationCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTRTROIIdentificationCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTRTROIIdentificationCodeSequence::Item &DRTRTROIIdentificationCodeSequence::It ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTRTROIIdentificationCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTRTROIIdentificationCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTRTROIIdentificationCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "RTROIIdentificationCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "RTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "RTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "RTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "RTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "RTROIIdentificationCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "RTROIIdentificationCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "RTROIIdentificationCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "RTROIIdentificationCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTRTROIIdentificationCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "RTROIIdentificationCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "RTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "RTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "RTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "RTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "RTROIIdentificationCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "RTROIIdentificationCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "RTROIIdentificationCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "RTROIIdentificationCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTRTROIIdentificationCodeSequence::Item::getContextUID(OFString &va } +OFCondition DRTRTROIIdentificationCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTRTROIIdentificationCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTRTROIIdentificationCodeSequence::Item::getMappingResource(OFStrin } +OFCondition DRTRTROIIdentificationCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTRTROIIdentificationCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTRTROIIdentificationCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTRTROIIdentificationCodeSequence::Item::setContextUID(const OFStri } +OFCondition DRTRTROIIdentificationCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTRTROIIdentificationCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTRTROIIdentificationCodeSequence::Item::setMappingResource(const O } +OFCondition DRTRTROIIdentificationCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTRTROIIdentificationCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTRTROIIdentificationCodeSequence::DRTRTROIIdentificationCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtrims.cc b/dcmrt/libsrc/drtrims.cc index 034cfa8e..27c69269 100644 --- a/dcmrt/libsrc/drtrims.cc +++ b/dcmrt/libsrc/drtrims.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtris.cc b/dcmrt/libsrc/drtris.cc index 2df57329..4628e263 100644 --- a/dcmrt/libsrc/drtris.cc +++ b/dcmrt/libsrc/drtris.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedInstanceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrlsds.cc b/dcmrt/libsrc/drtrlsds.cc index 91cdd43b..41c2ead7 100644 --- a/dcmrt/libsrc/drtrlsds.cc +++ b/dcmrt/libsrc/drtrlsds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRecordedLateralSpreadingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrmdrs.cc b/dcmrt/libsrc/drtrmdrs.cc index 2e450c5a..f1548d24 100644 --- a/dcmrt/libsrc/drtrmdrs.cc +++ b/dcmrt/libsrc/drtrmdrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedMeasuredDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrms.cc b/dcmrt/libsrc/drtrms.cc index d28c498a..e13e9d35 100644 --- a/dcmrt/libsrc/drtrms.cc +++ b/dcmrt/libsrc/drtrms.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRangeModulatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrmss6.cc b/dcmrt/libsrc/drtrmss6.cc index 7c73f6d1..d1710aee 100644 --- a/dcmrt/libsrc/drtrmss6.cc +++ b/dcmrt/libsrc/drtrmss6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrmss7.cc b/dcmrt/libsrc/drtrmss7.cc index 54c38164..125b195e 100644 --- a/dcmrt/libsrc/drtrmss7.cc +++ b/dcmrt/libsrc/drtrmss7.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRangeModulatorSettingsSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrpcs.cc b/dcmrt/libsrc/drtrpcs.cc index 4b648d6f..093a758a 100644 --- a/dcmrt/libsrc/drtrpcs.cc +++ b/dcmrt/libsrc/drtrpcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRequestedProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTRequestedProcedureCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTRequestedProcedureCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTRequestedProcedureCodeSequence::Item &DRTRequestedProcedureCodeSequence::Item ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTRequestedProcedureCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTRequestedProcedureCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTRequestedProcedureCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "RequestedProcedureCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "RequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "RequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "RequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "RequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "RequestedProcedureCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "RequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "RequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "RequestedProcedureCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTRequestedProcedureCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "RequestedProcedureCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "RequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "RequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "RequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "RequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "RequestedProcedureCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "RequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "RequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "RequestedProcedureCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTRequestedProcedureCodeSequence::Item::getContextUID(OFString &val } +OFCondition DRTRequestedProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTRequestedProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTRequestedProcedureCodeSequence::Item::getMappingResource(OFString } +OFCondition DRTRequestedProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTRequestedProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTRequestedProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTRequestedProcedureCodeSequence::Item::setContextUID(const OFStrin } +OFCondition DRTRequestedProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTRequestedProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTRequestedProcedureCodeSequence::Item::setMappingResource(const OF } +OFCondition DRTRequestedProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTRequestedProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTRequestedProcedureCodeSequence::DRTRequestedProcedureCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtrpis.cc b/dcmrt/libsrc/drtrpis.cc index 299d60f2..0fd7a5d4 100644 --- a/dcmrt/libsrc/drtrpis.cc +++ b/dcmrt/libsrc/drtrpis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferringPhysicianIdentificationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -26,6 +26,7 @@ DRTReferringPhysicianIdentificationSequence::Item::Item(const OFBool emptyDefaul InstitutionName(DCM_InstitutionName), PersonAddress(DCM_PersonAddress), PersonIdentificationCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + PersonTelecomInformation(DCM_PersonTelecomInformation), PersonTelephoneNumbers(DCM_PersonTelephoneNumbers) { } @@ -38,6 +39,7 @@ DRTReferringPhysicianIdentificationSequence::Item::Item(const Item ©) InstitutionName(copy.InstitutionName), PersonAddress(copy.PersonAddress), PersonIdentificationCodeSequence(copy.PersonIdentificationCodeSequence), + PersonTelecomInformation(copy.PersonTelecomInformation), PersonTelephoneNumbers(copy.PersonTelephoneNumbers) { } @@ -58,6 +60,7 @@ DRTReferringPhysicianIdentificationSequence::Item &DRTReferringPhysicianIdentifi InstitutionName = copy.InstitutionName; PersonAddress = copy.PersonAddress; PersonIdentificationCodeSequence = copy.PersonIdentificationCodeSequence; + PersonTelecomInformation = copy.PersonTelecomInformation; PersonTelephoneNumbers = copy.PersonTelephoneNumbers; } return *this; @@ -72,6 +75,7 @@ void DRTReferringPhysicianIdentificationSequence::Item::clear() PersonIdentificationCodeSequence.clear(); PersonAddress.clear(); PersonTelephoneNumbers.clear(); + PersonTelecomInformation.clear(); InstitutionName.clear(); InstitutionAddress.clear(); InstitutionCodeSequence.clear(); @@ -84,6 +88,7 @@ OFBool DRTReferringPhysicianIdentificationSequence::Item::isEmpty() return PersonIdentificationCodeSequence.isEmpty() && PersonAddress.isEmpty() && PersonTelephoneNumbers.isEmpty() && + PersonTelecomInformation.isEmpty() && InstitutionName.isEmpty() && InstitutionAddress.isEmpty() && InstitutionCodeSequence.isEmpty(); @@ -106,6 +111,7 @@ OFCondition DRTReferringPhysicianIdentificationSequence::Item::read(DcmItem &ite PersonIdentificationCodeSequence.read(item, "1-n", "1", "ReferringPhysicianIdentificationSequence"); getAndCheckElementFromDataset(item, PersonAddress, "1", "3", "ReferringPhysicianIdentificationSequence"); getAndCheckElementFromDataset(item, PersonTelephoneNumbers, "1-n", "3", "ReferringPhysicianIdentificationSequence"); + getAndCheckElementFromDataset(item, PersonTelecomInformation, "1", "3", "ReferringPhysicianIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionName, "1", "1C", "ReferringPhysicianIdentificationSequence"); getAndCheckElementFromDataset(item, InstitutionAddress, "1", "3", "ReferringPhysicianIdentificationSequence"); InstitutionCodeSequence.read(item, "1-n", "1C", "ReferringPhysicianIdentificationSequence"); @@ -124,6 +130,7 @@ OFCondition DRTReferringPhysicianIdentificationSequence::Item::write(DcmItem &it if (result.good()) result = PersonIdentificationCodeSequence.write(item, "1-n", "1", "ReferringPhysicianIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(PersonAddress), "1", "3", "ReferringPhysicianIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(PersonTelephoneNumbers), "1-n", "3", "ReferringPhysicianIdentificationSequence"); + addElementToDataset(result, item, new DcmLongText(PersonTelecomInformation), "1", "3", "ReferringPhysicianIdentificationSequence"); addElementToDataset(result, item, new DcmLongString(InstitutionName), "1", "1C", "ReferringPhysicianIdentificationSequence"); addElementToDataset(result, item, new DcmShortText(InstitutionAddress), "1", "3", "ReferringPhysicianIdentificationSequence"); if (result.good()) result = InstitutionCodeSequence.write(item, "1-n", "1C", "ReferringPhysicianIdentificationSequence"); @@ -159,6 +166,15 @@ OFCondition DRTReferringPhysicianIdentificationSequence::Item::getPersonAddress( } +OFCondition DRTReferringPhysicianIdentificationSequence::Item::getPersonTelecomInformation(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(PersonTelecomInformation, value, pos); +} + + OFCondition DRTReferringPhysicianIdentificationSequence::Item::getPersonTelephoneNumbers(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -207,6 +223,19 @@ OFCondition DRTReferringPhysicianIdentificationSequence::Item::setPersonAddress( } +OFCondition DRTReferringPhysicianIdentificationSequence::Item::setPersonTelecomInformation(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmLongText::checkStringValue(value) : EC_Normal; + if (result.good()) + result = PersonTelecomInformation.putOFStringArray(value); + } + return result; +} + + OFCondition DRTReferringPhysicianIdentificationSequence::Item::setPersonTelephoneNumbers(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtrppcs.cc b/dcmrt/libsrc/drtrppcs.cc index ef055d7b..53cd0a23 100644 --- a/dcmrt/libsrc/drtrppcs.cc +++ b/dcmrt/libsrc/drtrppcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReasonForPerformedProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTReasonForPerformedProcedureCodeSequence::Item::Item(const OFBool emptyDefault ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTReasonForPerformedProcedureCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTReasonForPerformedProcedureCodeSequence::Item &DRTReasonForPerformedProcedure ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTReasonForPerformedProcedureCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTReasonForPerformedProcedureCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::read(DcmItem &item { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ReasonForPerformedProcedureCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ReasonForPerformedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ReasonForPerformedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ReasonForPerformedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ReasonForPerformedProcedureCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::write(DcmItem &ite if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ReasonForPerformedProcedureCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ReasonForPerformedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ReasonForPerformedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ReasonForPerformedProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ReasonForPerformedProcedureCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getContextUID(OFSt } +OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getMappingResource } +OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setContextUID(cons } +OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setMappingResource } +OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTReasonForPerformedProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTReasonForPerformedProcedureCodeSequence::DRTReasonForPerformedProcedureCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtrpphs.cc b/dcmrt/libsrc/drtrpphs.cc index ecfcf8be..0a8910b9 100644 --- a/dcmrt/libsrc/drtrpphs.cc +++ b/dcmrt/libsrc/drtrpphs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedPatientPhotoSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -27,6 +27,7 @@ DRTReferencedPatientPhotoSequence::Item::Item(const OFBool emptyDefaultItem) SeriesInstanceUID(DCM_SeriesInstanceUID), StudyInstanceUID(DCM_StudyInstanceUID), TypeOfInstances(DCM_TypeOfInstances), + WADORSRetrievalSequence(emptyDefaultItem /*emptyDefaultSequence*/), WADORetrievalSequence(emptyDefaultItem /*emptyDefaultSequence*/), XDSRetrievalSequence(emptyDefaultItem /*emptyDefaultSequence*/) { @@ -41,6 +42,7 @@ DRTReferencedPatientPhotoSequence::Item::Item(const Item ©) SeriesInstanceUID(copy.SeriesInstanceUID), StudyInstanceUID(copy.StudyInstanceUID), TypeOfInstances(copy.TypeOfInstances), + WADORSRetrievalSequence(copy.WADORSRetrievalSequence), WADORetrievalSequence(copy.WADORetrievalSequence), XDSRetrievalSequence(copy.XDSRetrievalSequence) { @@ -63,6 +65,7 @@ DRTReferencedPatientPhotoSequence::Item &DRTReferencedPatientPhotoSequence::Item SeriesInstanceUID = copy.SeriesInstanceUID; StudyInstanceUID = copy.StudyInstanceUID; TypeOfInstances = copy.TypeOfInstances; + WADORSRetrievalSequence = copy.WADORSRetrievalSequence; WADORetrievalSequence = copy.WADORetrievalSequence; XDSRetrievalSequence = copy.XDSRetrievalSequence; } @@ -83,6 +86,7 @@ void DRTReferencedPatientPhotoSequence::Item::clear() DICOMMediaRetrievalSequence.clear(); WADORetrievalSequence.clear(); XDSRetrievalSequence.clear(); + WADORSRetrievalSequence.clear(); } } @@ -96,7 +100,8 @@ OFBool DRTReferencedPatientPhotoSequence::Item::isEmpty() DICOMRetrievalSequence.isEmpty() && DICOMMediaRetrievalSequence.isEmpty() && WADORetrievalSequence.isEmpty() && - XDSRetrievalSequence.isEmpty(); + XDSRetrievalSequence.isEmpty() && + WADORSRetrievalSequence.isEmpty(); } @@ -121,6 +126,7 @@ OFCondition DRTReferencedPatientPhotoSequence::Item::read(DcmItem &item) DICOMMediaRetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); WADORetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); XDSRetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); + WADORSRetrievalSequence.read(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); result = EC_Normal; } return result; @@ -141,6 +147,7 @@ OFCondition DRTReferencedPatientPhotoSequence::Item::write(DcmItem &item) if (result.good()) result = DICOMMediaRetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); if (result.good()) result = WADORetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); if (result.good()) result = XDSRetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); + if (result.good()) result = WADORSRetrievalSequence.write(item, "1-n", "1C", "ReferencedPatientPhotoSequence"); } return result; } diff --git a/dcmrt/libsrc/drtrpps.cc b/dcmrt/libsrc/drtrpps.cc index 8f22b470..6eb0ef4d 100644 --- a/dcmrt/libsrc/drtrpps.cc +++ b/dcmrt/libsrc/drtrpps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTROIPhysicalPropertiesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrppss.cc b/dcmrt/libsrc/drtrppss.cc index 96a123df..14f07440 100644 --- a/dcmrt/libsrc/drtrppss.cc +++ b/dcmrt/libsrc/drtrppss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedPerformedProcedureStepSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrps.cc b/dcmrt/libsrc/drtrps.cc index aa32c59a..03e800ef 100644 --- a/dcmrt/libsrc/drtrps.cc +++ b/dcmrt/libsrc/drtrps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedPatientSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrris1.cc b/dcmrt/libsrc/drtrris1.cc index 91707a46..0feb9585 100644 --- a/dcmrt/libsrc/drtrris1.cc +++ b/dcmrt/libsrc/drtrris1.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedReferenceImageSequenceInRTBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrris6.cc b/dcmrt/libsrc/drtrris6.cc index 042b2062..d583bd4e 100644 --- a/dcmrt/libsrc/drtrris6.cc +++ b/dcmrt/libsrc/drtrris6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedReferenceImageSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrris9.cc b/dcmrt/libsrc/drtrris9.cc index dd849534..3f51ce5d 100644 --- a/dcmrt/libsrc/drtrris9.cc +++ b/dcmrt/libsrc/drtrris9.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedReferenceImageSequenceInRTBrachyApplicationSetupsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrms.cc b/dcmrt/libsrc/drtrrms.cc index 661b6cd6..1938aae7 100644 --- a/dcmrt/libsrc/drtrrms.cc +++ b/dcmrt/libsrc/drtrrms.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRecordedRangeModulatorSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrros.cc b/dcmrt/libsrc/drtrros.cc index c0e56ac5..5d8ad67f 100644 --- a/dcmrt/libsrc/drtrros.cc +++ b/dcmrt/libsrc/drtrros.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRTROIObservationsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrpcs.cc b/dcmrt/libsrc/drtrrpcs.cc index 56fbe7be..8847f972 100644 --- a/dcmrt/libsrc/drtrrpcs.cc +++ b/dcmrt/libsrc/drtrrpcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReasonForRequestedProcedureCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTReasonForRequestedProcedureCodeSequence::Item::Item(const OFBool emptyDefault ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTReasonForRequestedProcedureCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTReasonForRequestedProcedureCodeSequence::Item &DRTReasonForRequestedProcedure ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTReasonForRequestedProcedureCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTReasonForRequestedProcedureCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::read(DcmItem &item { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ReasonForRequestedProcedureCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ReasonForRequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ReasonForRequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ReasonForRequestedProcedureCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ReasonForRequestedProcedureCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::write(DcmItem &ite if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ReasonForRequestedProcedureCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ReasonForRequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ReasonForRequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ReasonForRequestedProcedureCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ReasonForRequestedProcedureCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getContextUID(OFSt } +OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getMappingResource } +OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setContextUID(cons } +OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setMappingResource } +OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTReasonForRequestedProcedureCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTReasonForRequestedProcedureCodeSequence::DRTReasonForRequestedProcedureCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtrrros.cc b/dcmrt/libsrc/drtrrros.cc index ddb1fb56..e11fe871 100644 --- a/dcmrt/libsrc/drtrrros.cc +++ b/dcmrt/libsrc/drtrrros.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRelatedRTROIObservationsSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrs.cc b/dcmrt/libsrc/drtrrs.cc index 3ab8b9ad..d149cb82 100644 --- a/dcmrt/libsrc/drtrrs.cc +++ b/dcmrt/libsrc/drtrrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRTRelatedROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrshs.cc b/dcmrt/libsrc/drtrrshs.cc index 4076caea..b2988b09 100644 --- a/dcmrt/libsrc/drtrrshs.cc +++ b/dcmrt/libsrc/drtrrshs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRecordedRangeShifterSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrtps.cc b/dcmrt/libsrc/drtrrtps.cc index a32e03e1..2e16c556 100644 --- a/dcmrt/libsrc/drtrrtps.cc +++ b/dcmrt/libsrc/drtrrtps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedRTPlanSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrtps3.cc b/dcmrt/libsrc/drtrrtps3.cc index 7ece4a51..3f084b00 100644 --- a/dcmrt/libsrc/drtrrtps3.cc +++ b/dcmrt/libsrc/drtrrtps3.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedRTPlanSequenceInRTGeneralPlanModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrtps4.cc b/dcmrt/libsrc/drtrrtps4.cc index f5883bd3..008b6c43 100644 --- a/dcmrt/libsrc/drtrrtps4.cc +++ b/dcmrt/libsrc/drtrrtps4.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedRTPlanSequenceInRTGeneralTreatmentRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrrtps5.cc b/dcmrt/libsrc/drtrrtps5.cc index bb07fee4..830ede14 100644 --- a/dcmrt/libsrc/drtrrtps5.cc +++ b/dcmrt/libsrc/drtrrtps5.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedRTPlanSequenceInRTImageModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrscs.cc b/dcmrt/libsrc/drtrscs.cc index f06ff72a..c31e213d 100644 --- a/dcmrt/libsrc/drtrscs.cc +++ b/dcmrt/libsrc/drtrscs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRequestingServiceCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTRequestingServiceCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTRequestingServiceCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTRequestingServiceCodeSequence::Item &DRTRequestingServiceCodeSequence::Item:: ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTRequestingServiceCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTRequestingServiceCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTRequestingServiceCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "RequestingServiceCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "RequestingServiceCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "RequestingServiceCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "RequestingServiceCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "RequestingServiceCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "RequestingServiceCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "RequestingServiceCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "RequestingServiceCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "RequestingServiceCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTRequestingServiceCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "RequestingServiceCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "RequestingServiceCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "RequestingServiceCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "RequestingServiceCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "RequestingServiceCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "RequestingServiceCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "RequestingServiceCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "RequestingServiceCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "RequestingServiceCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTRequestingServiceCodeSequence::Item::getContextUID(OFString &valu } +OFCondition DRTRequestingServiceCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTRequestingServiceCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTRequestingServiceCodeSequence::Item::getMappingResource(OFString } +OFCondition DRTRequestingServiceCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTRequestingServiceCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTRequestingServiceCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTRequestingServiceCodeSequence::Item::setContextUID(const OFString } +OFCondition DRTRequestingServiceCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTRequestingServiceCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTRequestingServiceCodeSequence::Item::setMappingResource(const OFS } +OFCondition DRTRequestingServiceCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTRequestingServiceCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTRequestingServiceCodeSequence::DRTRequestingServiceCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtrsers.cc b/dcmrt/libsrc/drtrsers.cc index 04e79746..fa949ae8 100644 --- a/dcmrt/libsrc/drtrsers.cc +++ b/dcmrt/libsrc/drtrsers.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedSeriesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrses.cc b/dcmrt/libsrc/drtrses.cc index b6d93caf..c373227d 100644 --- a/dcmrt/libsrc/drtrses.cc +++ b/dcmrt/libsrc/drtrses.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRTReferencedSeriesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrshs.cc b/dcmrt/libsrc/drtrshs.cc index 87bfaded..42d12baf 100644 --- a/dcmrt/libsrc/drtrshs.cc +++ b/dcmrt/libsrc/drtrshs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRangeShifterSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrshs6.cc b/dcmrt/libsrc/drtrshs6.cc index e1a99f60..cfc26d58 100644 --- a/dcmrt/libsrc/drtrshs6.cc +++ b/dcmrt/libsrc/drtrshs6.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRangeShifterSettingsSequenceInRTIonBeamsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrshs7.cc b/dcmrt/libsrc/drtrshs7.cc index dde02ddb..8f63f780 100644 --- a/dcmrt/libsrc/drtrshs7.cc +++ b/dcmrt/libsrc/drtrshs7.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRangeShifterSettingsSequenceInRTIonBeamsSessionRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrsis.cc b/dcmrt/libsrc/drtrsis.cc index 2b1aad00..302f3713 100644 --- a/dcmrt/libsrc/drtrsis.cc +++ b/dcmrt/libsrc/drtrsis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedSetupImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrsns.cc b/dcmrt/libsrc/drtrsns.cc index 2deaf001..bbe4571c 100644 --- a/dcmrt/libsrc/drtrsns.cc +++ b/dcmrt/libsrc/drtrsns.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRecordedSnoutSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrsos.cc b/dcmrt/libsrc/drtrsos.cc index 376f84b9..857ed829 100644 --- a/dcmrt/libsrc/drtrsos.cc +++ b/dcmrt/libsrc/drtrsos.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedSOPSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrsrs.cc b/dcmrt/libsrc/drtrsrs.cc index 02c37980..a36e5c1a 100644 --- a/dcmrt/libsrc/drtrsrs.cc +++ b/dcmrt/libsrc/drtrsrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedSpatialRegistrationSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrss.cc b/dcmrt/libsrc/drtrss.cc index 26d981e2..0f4da67d 100644 --- a/dcmrt/libsrc/drtrss.cc +++ b/dcmrt/libsrc/drtrss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedStudySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrsss.cc b/dcmrt/libsrc/drtrsss.cc index 2c6d8373..3165635b 100644 --- a/dcmrt/libsrc/drtrsss.cc +++ b/dcmrt/libsrc/drtrsss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedStructureSetSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrsts.cc b/dcmrt/libsrc/drtrsts.cc index bd3ddd90..90ab23cc 100644 --- a/dcmrt/libsrc/drtrsts.cc +++ b/dcmrt/libsrc/drtrsts.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRTReferencedStudySequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrtrs2.cc b/dcmrt/libsrc/drtrtrs2.cc index 92196dc8..f8824e26 100644 --- a/dcmrt/libsrc/drtrtrs2.cc +++ b/dcmrt/libsrc/drtrtrs2.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedTreatmentRecordSequenceInRTDoseModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrtrs4.cc b/dcmrt/libsrc/drtrtrs4.cc index 4b38bc76..b14e8298 100644 --- a/dcmrt/libsrc/drtrtrs4.cc +++ b/dcmrt/libsrc/drtrtrs4.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedTreatmentRecordSequenceInRTGeneralTreatmentRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrvis.cc b/dcmrt/libsrc/drtrvis.cc index 3de875b4..79341969 100644 --- a/dcmrt/libsrc/drtrvis.cc +++ b/dcmrt/libsrc/drtrvis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTReferencedVerificationImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrws.cc b/dcmrt/libsrc/drtrws.cc index 135c4a82..c7945342 100644 --- a/dcmrt/libsrc/drtrws.cc +++ b/dcmrt/libsrc/drtrws.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRecordedWedgeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtrwvms.cc b/dcmrt/libsrc/drtrwvms.cc index 121e7ad9..9f709552 100644 --- a/dcmrt/libsrc/drtrwvms.cc +++ b/dcmrt/libsrc/drtrwvms.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTRealWorldValueMappingSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -24,6 +24,7 @@ DRTRealWorldValueMappingSequence::Item::Item(const OFBool emptyDefaultItem) LUTExplanation(DCM_LUTExplanation), LUTLabel(DCM_LUTLabel), MeasurementUnitsCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + QuantityDefinitionSequence(emptyDefaultItem /*emptyDefaultSequence*/), RealWorldValueFirstValueMapped(DCM_RealWorldValueFirstValueMapped), RealWorldValueIntercept(DCM_RealWorldValueIntercept), RealWorldValueLUTData(DCM_RealWorldValueLUTData), @@ -38,6 +39,7 @@ DRTRealWorldValueMappingSequence::Item::Item(const Item ©) LUTExplanation(copy.LUTExplanation), LUTLabel(copy.LUTLabel), MeasurementUnitsCodeSequence(copy.MeasurementUnitsCodeSequence), + QuantityDefinitionSequence(copy.QuantityDefinitionSequence), RealWorldValueFirstValueMapped(copy.RealWorldValueFirstValueMapped), RealWorldValueIntercept(copy.RealWorldValueIntercept), RealWorldValueLUTData(copy.RealWorldValueLUTData), @@ -60,6 +62,7 @@ DRTRealWorldValueMappingSequence::Item &DRTRealWorldValueMappingSequence::Item:: LUTExplanation = copy.LUTExplanation; LUTLabel = copy.LUTLabel; MeasurementUnitsCodeSequence = copy.MeasurementUnitsCodeSequence; + QuantityDefinitionSequence = copy.QuantityDefinitionSequence; RealWorldValueFirstValueMapped = copy.RealWorldValueFirstValueMapped; RealWorldValueIntercept = copy.RealWorldValueIntercept; RealWorldValueLUTData = copy.RealWorldValueLUTData; @@ -83,6 +86,7 @@ void DRTRealWorldValueMappingSequence::Item::clear() LUTExplanation.clear(); LUTLabel.clear(); MeasurementUnitsCodeSequence.clear(); + QuantityDefinitionSequence.clear(); } } @@ -96,7 +100,8 @@ OFBool DRTRealWorldValueMappingSequence::Item::isEmpty() RealWorldValueLUTData.isEmpty() && LUTExplanation.isEmpty() && LUTLabel.isEmpty() && - MeasurementUnitsCodeSequence.isEmpty(); + MeasurementUnitsCodeSequence.isEmpty() && + QuantityDefinitionSequence.isEmpty(); } @@ -121,6 +126,7 @@ OFCondition DRTRealWorldValueMappingSequence::Item::read(DcmItem &item) getAndCheckElementFromDataset(item, LUTExplanation, "1", "1", "RealWorldValueMappingSequence"); getAndCheckElementFromDataset(item, LUTLabel, "1", "1", "RealWorldValueMappingSequence"); MeasurementUnitsCodeSequence.read(item, "1-n", "1", "RealWorldValueMappingSequence"); + QuantityDefinitionSequence.read(item, "1-n", "3", "RealWorldValueMappingSequence"); result = EC_Normal; } return result; @@ -141,6 +147,7 @@ OFCondition DRTRealWorldValueMappingSequence::Item::write(DcmItem &item) addElementToDataset(result, item, new DcmLongString(LUTExplanation), "1", "1", "RealWorldValueMappingSequence"); addElementToDataset(result, item, new DcmShortString(LUTLabel), "1", "1", "RealWorldValueMappingSequence"); if (result.good()) result = MeasurementUnitsCodeSequence.write(item, "1-n", "1", "RealWorldValueMappingSequence"); + if (result.good()) result = QuantityDefinitionSequence.write(item, "1-n", "3", "RealWorldValueMappingSequence"); } return result; } diff --git a/dcmrt/libsrc/drtscris.cc b/dcmrt/libsrc/drtscris.cc index 619b2be3..78a10f0e 100644 --- a/dcmrt/libsrc/drtscris.cc +++ b/dcmrt/libsrc/drtscris.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTStudiesContainingOtherReferencedInstancesSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtsdcs.cc b/dcmrt/libsrc/drtsdcs.cc index dea6ceeb..5dd75d95 100644 --- a/dcmrt/libsrc/drtsdcs.cc +++ b/dcmrt/libsrc/drtsdcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTSeriesDescriptionCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTSeriesDescriptionCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTSeriesDescriptionCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTSeriesDescriptionCodeSequence::Item &DRTSeriesDescriptionCodeSequence::Item:: ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTSeriesDescriptionCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTSeriesDescriptionCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTSeriesDescriptionCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "SeriesDescriptionCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "SeriesDescriptionCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "SeriesDescriptionCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "SeriesDescriptionCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "SeriesDescriptionCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "SeriesDescriptionCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "SeriesDescriptionCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "SeriesDescriptionCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "SeriesDescriptionCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTSeriesDescriptionCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "SeriesDescriptionCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "SeriesDescriptionCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "SeriesDescriptionCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "SeriesDescriptionCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "SeriesDescriptionCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "SeriesDescriptionCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "SeriesDescriptionCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "SeriesDescriptionCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "SeriesDescriptionCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTSeriesDescriptionCodeSequence::Item::getContextUID(OFString &valu } +OFCondition DRTSeriesDescriptionCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTSeriesDescriptionCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTSeriesDescriptionCodeSequence::Item::getMappingResource(OFString } +OFCondition DRTSeriesDescriptionCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTSeriesDescriptionCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTSeriesDescriptionCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTSeriesDescriptionCodeSequence::Item::setContextUID(const OFString } +OFCondition DRTSeriesDescriptionCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTSeriesDescriptionCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTSeriesDescriptionCodeSequence::Item::setMappingResource(const OFS } +OFCondition DRTSeriesDescriptionCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTSeriesDescriptionCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTSeriesDescriptionCodeSequence::DRTSeriesDescriptionCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtsds.cc b/dcmrt/libsrc/drtsds.cc index 0a9f12e2..946e5936 100644 --- a/dcmrt/libsrc/drtsds.cc +++ b/dcmrt/libsrc/drtsds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTSetupDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtshds.cc b/dcmrt/libsrc/drtshds.cc index a26369a5..844fc958 100644 --- a/dcmrt/libsrc/drtshds.cc +++ b/dcmrt/libsrc/drtshds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTShieldingDeviceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtsis.cc b/dcmrt/libsrc/drtsis.cc index df008de8..85b953c9 100644 --- a/dcmrt/libsrc/drtsis.cc +++ b/dcmrt/libsrc/drtsis.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTSourceImageSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtsns.cc b/dcmrt/libsrc/drtsns.cc index fa5c0a03..b0febd2b 100644 --- a/dcmrt/libsrc/drtsns.cc +++ b/dcmrt/libsrc/drtsns.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTSnoutSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtspccs.cc b/dcmrt/libsrc/drtspccs.cc index 59bc852a..be55f83c 100644 --- a/dcmrt/libsrc/drtspccs.cc +++ b/dcmrt/libsrc/drtspccs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTSegmentedPropertyCategoryCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,7 +31,11 @@ DRTSegmentedPropertyCategoryCodeSequence::Item::Item(const OFBool emptyDefaultIt ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), - MappingResource(DCM_MappingResource) + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), + MappingResource(DCM_MappingResource), + MappingResourceUID(DCM_MappingResourceUID), + URNCodeValue(DCM_URNCodeValue) { } @@ -48,7 +52,11 @@ DRTSegmentedPropertyCategoryCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), - MappingResource(copy.MappingResource) + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), + MappingResource(copy.MappingResource), + MappingResourceUID(copy.MappingResourceUID), + URNCodeValue(copy.URNCodeValue) { } @@ -73,7 +81,11 @@ DRTSegmentedPropertyCategoryCodeSequence::Item &DRTSegmentedPropertyCategoryCode ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -88,9 +100,13 @@ void DRTSegmentedPropertyCategoryCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -105,9 +121,13 @@ OFBool DRTSegmentedPropertyCategoryCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -128,13 +148,17 @@ OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "SegmentedPropertyCategoryCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "SegmentedPropertyCategoryCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "SegmentedPropertyCategoryCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "SegmentedPropertyCategoryCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "SegmentedPropertyCategoryCodeSequence"); @@ -151,13 +175,17 @@ OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "SegmentedPropertyCategoryCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "SegmentedPropertyCategoryCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "SegmentedPropertyCategoryCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "SegmentedPropertyCategoryCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "SegmentedPropertyCategoryCodeSequence"); @@ -257,6 +285,15 @@ OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getContextUID(OFStri } +OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -266,6 +303,24 @@ OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getMappingResource(O } +OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -396,6 +451,19 @@ OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setContextUID(const } +OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -409,6 +477,32 @@ OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setMappingResource(c } +OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTSegmentedPropertyCategoryCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTSegmentedPropertyCategoryCodeSequence::DRTSegmentedPropertyCategoryCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtspcs.cc b/dcmrt/libsrc/drtspcs.cc index 6df3b1ac..7f47f65e 100644 --- a/dcmrt/libsrc/drtspcs.cc +++ b/dcmrt/libsrc/drtspcs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTScheduledProtocolCodeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -31,8 +31,12 @@ DRTScheduledProtocolCodeSequence::Item::Item(const OFBool emptyDefaultItem) ContextGroupVersion(DCM_ContextGroupVersion), ContextIdentifier(DCM_ContextIdentifier), ContextUID(DCM_ContextUID), + EquivalentCodeSequence(emptyDefaultItem /*emptyDefaultSequence*/), + LongCodeValue(DCM_LongCodeValue), MappingResource(DCM_MappingResource), - ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/) + MappingResourceUID(DCM_MappingResourceUID), + ProtocolContextSequence(emptyDefaultItem /*emptyDefaultSequence*/), + URNCodeValue(DCM_URNCodeValue) { } @@ -49,8 +53,12 @@ DRTScheduledProtocolCodeSequence::Item::Item(const Item ©) ContextGroupVersion(copy.ContextGroupVersion), ContextIdentifier(copy.ContextIdentifier), ContextUID(copy.ContextUID), + EquivalentCodeSequence(copy.EquivalentCodeSequence), + LongCodeValue(copy.LongCodeValue), MappingResource(copy.MappingResource), - ProtocolContextSequence(copy.ProtocolContextSequence) + MappingResourceUID(copy.MappingResourceUID), + ProtocolContextSequence(copy.ProtocolContextSequence), + URNCodeValue(copy.URNCodeValue) { } @@ -75,8 +83,12 @@ DRTScheduledProtocolCodeSequence::Item &DRTScheduledProtocolCodeSequence::Item:: ContextGroupVersion = copy.ContextGroupVersion; ContextIdentifier = copy.ContextIdentifier; ContextUID = copy.ContextUID; + EquivalentCodeSequence = copy.EquivalentCodeSequence; + LongCodeValue = copy.LongCodeValue; MappingResource = copy.MappingResource; + MappingResourceUID = copy.MappingResourceUID; ProtocolContextSequence = copy.ProtocolContextSequence; + URNCodeValue = copy.URNCodeValue; } return *this; } @@ -91,9 +103,13 @@ void DRTScheduledProtocolCodeSequence::Item::clear() CodingSchemeDesignator.clear(); CodingSchemeVersion.clear(); CodeMeaning.clear(); + LongCodeValue.clear(); + URNCodeValue.clear(); + EquivalentCodeSequence.clear(); ContextIdentifier.clear(); ContextUID.clear(); MappingResource.clear(); + MappingResourceUID.clear(); ContextGroupVersion.clear(); ContextGroupExtensionFlag.clear(); ContextGroupLocalVersion.clear(); @@ -109,9 +125,13 @@ OFBool DRTScheduledProtocolCodeSequence::Item::isEmpty() CodingSchemeDesignator.isEmpty() && CodingSchemeVersion.isEmpty() && CodeMeaning.isEmpty() && + LongCodeValue.isEmpty() && + URNCodeValue.isEmpty() && + EquivalentCodeSequence.isEmpty() && ContextIdentifier.isEmpty() && ContextUID.isEmpty() && MappingResource.isEmpty() && + MappingResourceUID.isEmpty() && ContextGroupVersion.isEmpty() && ContextGroupExtensionFlag.isEmpty() && ContextGroupLocalVersion.isEmpty() && @@ -133,13 +153,17 @@ OFCondition DRTScheduledProtocolCodeSequence::Item::read(DcmItem &item) { /* re-initialize object */ clear(); - getAndCheckElementFromDataset(item, CodeValue, "1", "1", "ScheduledProtocolCodeSequence"); - getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1", "ScheduledProtocolCodeSequence"); + getAndCheckElementFromDataset(item, CodeValue, "1", "1C", "ScheduledProtocolCodeSequence"); + getAndCheckElementFromDataset(item, CodingSchemeDesignator, "1", "1C", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, CodingSchemeVersion, "1", "1C", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, CodeMeaning, "1", "1", "ScheduledProtocolCodeSequence"); + getAndCheckElementFromDataset(item, LongCodeValue, "1", "1C", "ScheduledProtocolCodeSequence"); + getAndCheckElementFromDataset(item, URNCodeValue, "1", "1C", "ScheduledProtocolCodeSequence"); + EquivalentCodeSequence.read(item, "1-n", "3", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextIdentifier, "1", "3", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextUID, "1", "3", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, MappingResource, "1", "1C", "ScheduledProtocolCodeSequence"); + getAndCheckElementFromDataset(item, MappingResourceUID, "1", "3", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupVersion, "1", "1C", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupExtensionFlag, "1", "3", "ScheduledProtocolCodeSequence"); getAndCheckElementFromDataset(item, ContextGroupLocalVersion, "1", "1C", "ScheduledProtocolCodeSequence"); @@ -157,13 +181,17 @@ OFCondition DRTScheduledProtocolCodeSequence::Item::write(DcmItem &item) if (!EmptyDefaultItem) { result = EC_Normal; - addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1", "ScheduledProtocolCodeSequence"); - addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1", "ScheduledProtocolCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodeValue), "1", "1C", "ScheduledProtocolCodeSequence"); + addElementToDataset(result, item, new DcmShortString(CodingSchemeDesignator), "1", "1C", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmShortString(CodingSchemeVersion), "1", "1C", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmLongString(CodeMeaning), "1", "1", "ScheduledProtocolCodeSequence"); + addElementToDataset(result, item, new DcmUnlimitedCharacters(LongCodeValue), "1", "1C", "ScheduledProtocolCodeSequence"); + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(URNCodeValue), "1", "1C", "ScheduledProtocolCodeSequence"); + if (result.good()) result = EquivalentCodeSequence.write(item, "1-n", "3", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextIdentifier), "1", "3", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmUniqueIdentifier(ContextUID), "1", "3", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmCodeString(MappingResource), "1", "1C", "ScheduledProtocolCodeSequence"); + addElementToDataset(result, item, new DcmUniqueIdentifier(MappingResourceUID), "1", "3", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupVersion), "1", "1C", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmCodeString(ContextGroupExtensionFlag), "1", "3", "ScheduledProtocolCodeSequence"); addElementToDataset(result, item, new DcmDateTime(ContextGroupLocalVersion), "1", "1C", "ScheduledProtocolCodeSequence"); @@ -264,6 +292,15 @@ OFCondition DRTScheduledProtocolCodeSequence::Item::getContextUID(OFString &valu } +OFCondition DRTScheduledProtocolCodeSequence::Item::getLongCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(LongCodeValue, value, pos); +} + + OFCondition DRTScheduledProtocolCodeSequence::Item::getMappingResource(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -273,6 +310,24 @@ OFCondition DRTScheduledProtocolCodeSequence::Item::getMappingResource(OFString } +OFCondition DRTScheduledProtocolCodeSequence::Item::getMappingResourceUID(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(MappingResourceUID, value, pos); +} + + +OFCondition DRTScheduledProtocolCodeSequence::Item::getURNCodeValue(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(URNCodeValue, value, pos); +} + + OFCondition DRTScheduledProtocolCodeSequence::Item::setCodeMeaning(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -403,6 +458,19 @@ OFCondition DRTScheduledProtocolCodeSequence::Item::setContextUID(const OFString } +OFCondition DRTScheduledProtocolCodeSequence::Item::setLongCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUnlimitedCharacters::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = LongCodeValue.putOFStringArray(value); + } + return result; +} + + OFCondition DRTScheduledProtocolCodeSequence::Item::setMappingResource(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; @@ -416,6 +484,32 @@ OFCondition DRTScheduledProtocolCodeSequence::Item::setMappingResource(const OFS } +OFCondition DRTScheduledProtocolCodeSequence::Item::setMappingResourceUID(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = MappingResourceUID.putOFStringArray(value); + } + return result; +} + + +OFCondition DRTScheduledProtocolCodeSequence::Item::setURNCodeValue(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = URNCodeValue.putOFStringArray(value); + } + return result; +} + + // --- sequence class --- DRTScheduledProtocolCodeSequence::DRTScheduledProtocolCodeSequence(const OFBool emptyDefaultSequence) diff --git a/dcmrt/libsrc/drtss.cc b/dcmrt/libsrc/drtss.cc index 88d80c64..0bfbd0c6 100644 --- a/dcmrt/libsrc/drtss.cc +++ b/dcmrt/libsrc/drtss.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTSourceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtssrs.cc b/dcmrt/libsrc/drtssrs.cc index 96af4c6b..bf467a71 100644 --- a/dcmrt/libsrc/drtssrs.cc +++ b/dcmrt/libsrc/drtssrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTStructureSetROISequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtstrct.cc b/dcmrt/libsrc/drtstrct.cc index c4c4cd67..29308f05 100644 --- a/dcmrt/libsrc/drtstrct.cc +++ b/dcmrt/libsrc/drtstrct.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTStructureSetIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -58,6 +58,8 @@ DRTStructureSetIOD::DRTStructureSetIOD() StudyTime(DCM_StudyTime), ReferringPhysicianName(DCM_ReferringPhysicianName), ReferringPhysicianIdentificationSequence(), + ConsultingPhysicianName(DCM_ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(), StudyID(DCM_StudyID), AccessionNumber(DCM_AccessionNumber), IssuerOfAccessionNumberSequence(), @@ -121,6 +123,8 @@ DRTStructureSetIOD::DRTStructureSetIOD() DateOfLastCalibration(DCM_DateOfLastCalibration), TimeOfLastCalibration(DCM_TimeOfLastCalibration), PixelPaddingValue(DCM_PixelPaddingValue), + FrameOfReferenceUID(DCM_FrameOfReferenceUID), + PositionReferenceIndicator(DCM_PositionReferenceIndicator), StructureSetLabel(DCM_StructureSetLabel), StructureSetName(DCM_StructureSetName), StructureSetDescription(DCM_StructureSetDescription), @@ -161,6 +165,7 @@ DRTStructureSetIOD::DRTStructureSetIOD() QueryRetrieveView(DCM_QueryRetrieveView), ConversionSourceAttributesSequence(), ContentQualification(DCM_ContentQualification), + PrivateDataElementCharacteristicsSequence(), ReferencedSeriesSequence(), StudiesContainingOtherReferencedInstancesSequence() { @@ -210,6 +215,8 @@ DRTStructureSetIOD::DRTStructureSetIOD(const DRTStructureSetIOD ©) StudyTime(copy.StudyTime), ReferringPhysicianName(copy.ReferringPhysicianName), ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence), + ConsultingPhysicianName(copy.ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence), StudyID(copy.StudyID), AccessionNumber(copy.AccessionNumber), IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence), @@ -273,6 +280,8 @@ DRTStructureSetIOD::DRTStructureSetIOD(const DRTStructureSetIOD ©) DateOfLastCalibration(copy.DateOfLastCalibration), TimeOfLastCalibration(copy.TimeOfLastCalibration), PixelPaddingValue(copy.PixelPaddingValue), + FrameOfReferenceUID(copy.FrameOfReferenceUID), + PositionReferenceIndicator(copy.PositionReferenceIndicator), StructureSetLabel(copy.StructureSetLabel), StructureSetName(copy.StructureSetName), StructureSetDescription(copy.StructureSetDescription), @@ -313,6 +322,7 @@ DRTStructureSetIOD::DRTStructureSetIOD(const DRTStructureSetIOD ©) QueryRetrieveView(copy.QueryRetrieveView), ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence), ContentQualification(copy.ContentQualification), + PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence), ReferencedSeriesSequence(copy.ReferencedSeriesSequence), StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence) { @@ -368,6 +378,8 @@ DRTStructureSetIOD &DRTStructureSetIOD::operator=(const DRTStructureSetIOD © StudyTime = copy.StudyTime; ReferringPhysicianName = copy.ReferringPhysicianName; ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence; + ConsultingPhysicianName = copy.ConsultingPhysicianName; + ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence; StudyID = copy.StudyID; AccessionNumber = copy.AccessionNumber; IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence; @@ -431,6 +443,8 @@ DRTStructureSetIOD &DRTStructureSetIOD::operator=(const DRTStructureSetIOD © DateOfLastCalibration = copy.DateOfLastCalibration; TimeOfLastCalibration = copy.TimeOfLastCalibration; PixelPaddingValue = copy.PixelPaddingValue; + FrameOfReferenceUID = copy.FrameOfReferenceUID; + PositionReferenceIndicator = copy.PositionReferenceIndicator; StructureSetLabel = copy.StructureSetLabel; StructureSetName = copy.StructureSetName; StructureSetDescription = copy.StructureSetDescription; @@ -471,6 +485,7 @@ DRTStructureSetIOD &DRTStructureSetIOD::operator=(const DRTStructureSetIOD © QueryRetrieveView = copy.QueryRetrieveView; ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence; ContentQualification = copy.ContentQualification; + PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence; ReferencedSeriesSequence = copy.ReferencedSeriesSequence; StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence; } @@ -521,6 +536,8 @@ void DRTStructureSetIOD::clear() StudyTime.clear(); ReferringPhysicianName.clear(); ReferringPhysicianIdentificationSequence.clear(); + ConsultingPhysicianName.clear(); + ConsultingPhysicianIdentificationSequence.clear(); StudyID.clear(); AccessionNumber.clear(); IssuerOfAccessionNumberSequence.clear(); @@ -584,6 +601,8 @@ void DRTStructureSetIOD::clear() DateOfLastCalibration.clear(); TimeOfLastCalibration.clear(); PixelPaddingValue.clear(); + FrameOfReferenceUID.clear(); + PositionReferenceIndicator.clear(); StructureSetLabel.clear(); StructureSetName.clear(); StructureSetDescription.clear(); @@ -624,6 +643,7 @@ void DRTStructureSetIOD::clear() QueryRetrieveView.clear(); ConversionSourceAttributesSequence.clear(); ContentQualification.clear(); + PrivateDataElementCharacteristicsSequence.clear(); ReferencedSeriesSequence.clear(); StudiesContainingOtherReferencedInstancesSequence.clear(); } @@ -688,6 +708,14 @@ OFCondition DRTStructureSetIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, TimeOfLastCalibration, "1-n", "3", "GeneralEquipmentModule"); getAndCheckElementFromDataset(dataset, PixelPaddingValue, "1", "1C", "GeneralEquipmentModule"); + // --- FrameOfReferenceModule (U) --- + if (dataset.tagExists(DCM_FrameOfReferenceUID) || + dataset.tagExists(DCM_PositionReferenceIndicator)) + { + getAndCheckElementFromDataset(dataset, FrameOfReferenceUID, "1", "1", "FrameOfReferenceModule"); + getAndCheckElementFromDataset(dataset, PositionReferenceIndicator, "1", "2", "FrameOfReferenceModule"); + } + // --- StructureSetModule (M) --- getAndCheckElementFromDataset(dataset, StructureSetLabel, "1", "1", "StructureSetModule"); getAndCheckElementFromDataset(dataset, StructureSetName, "1", "3", "StructureSetModule"); @@ -741,6 +769,7 @@ OFCondition DRTStructureSetIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule"); ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule"); + PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule"); @@ -815,6 +844,8 @@ OFCondition DRTStructureSetIOD::readStudyData(DcmItem &dataset) getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule"); ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); + getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule"); + ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule"); IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); @@ -951,6 +982,8 @@ OFCondition DRTStructureSetIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule"); if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); + addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule"); + if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule"); if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); @@ -1034,6 +1067,13 @@ OFCondition DRTStructureSetIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(TimeOfLastCalibration), "1-n", "3", "GeneralEquipmentModule"); addElementToDataset(result, dataset, new DcmUnsignedShort(PixelPaddingValue), "1", "1C", "GeneralEquipmentModule"); + // --- FrameOfReferenceModule (U) --- + if (isFrameOfReferenceModulePresent(OFFalse /*complete*/)) + { + addElementToDataset(result, dataset, new DcmUniqueIdentifier(FrameOfReferenceUID), "1", "1", "FrameOfReferenceModule"); + addElementToDataset(result, dataset, new DcmLongString(PositionReferenceIndicator), "1", "2", "FrameOfReferenceModule"); + } + // --- StructureSetModule (M) --- addElementToDataset(result, dataset, new DcmShortString(StructureSetLabel), "1", "1", "StructureSetModule"); addElementToDataset(result, dataset, new DcmLongString(StructureSetName), "1", "3", "StructureSetModule"); @@ -1087,6 +1127,7 @@ OFCondition DRTStructureSetIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule"); if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule"); addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule"); + if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/)) @@ -1160,6 +1201,20 @@ OFBool DRTStructureSetIOD::isClinicalTrialSeriesModulePresent(const OFBool /*com } +OFBool DRTStructureSetIOD::isFrameOfReferenceModulePresent(const OFBool complete) +{ + if (complete) + { + /* check whether all mandatory attributes are present */ + return !FrameOfReferenceUID.isEmpty(); + } else { + /* check whether at least one attribute is present */ + return !FrameOfReferenceUID.isEmpty() || + !PositionReferenceIndicator.isEmpty(); + } +} + + OFBool DRTStructureSetIOD::isApprovalModulePresent(const OFBool complete) { if (complete) @@ -1310,6 +1365,12 @@ OFCondition DRTStructureSetIOD::getCommentsOnThePerformedProcedureStep(OFString } +OFCondition DRTStructureSetIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(ConsultingPhysicianName, value, pos); +} + + OFCondition DRTStructureSetIOD::getContentQualification(OFString &value, const signed long pos) const { return getStringValueFromElement(ContentQualification, value, pos); @@ -1340,6 +1401,12 @@ OFCondition DRTStructureSetIOD::getEthnicGroup(OFString &value, const signed lon } +OFCondition DRTStructureSetIOD::getFrameOfReferenceUID(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(FrameOfReferenceUID, value, pos); +} + + OFCondition DRTStructureSetIOD::getGantryID(OFString &value, const signed long pos) const { return getStringValueFromElement(GantryID, value, pos); @@ -1604,6 +1671,12 @@ OFCondition DRTStructureSetIOD::getPixelPaddingValue(Uint16 &value, const unsign } +OFCondition DRTStructureSetIOD::getPositionReferenceIndicator(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(PositionReferenceIndicator, value, pos); +} + + OFCondition DRTStructureSetIOD::getQualityControlSubject(OFString &value, const signed long pos) const { return getStringValueFromElement(QualityControlSubject, value, pos); @@ -2033,6 +2106,15 @@ OFCondition DRTStructureSetIOD::setCommentsOnThePerformedProcedureStep(const OFS } +OFCondition DRTStructureSetIOD::setConsultingPhysicianName(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = ConsultingPhysicianName.putOFStringArray(value); + return result; +} + + OFCondition DRTStructureSetIOD::setContentQualification(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; @@ -2078,6 +2160,15 @@ OFCondition DRTStructureSetIOD::setEthnicGroup(const OFString &value, const OFBo } +OFCondition DRTStructureSetIOD::setFrameOfReferenceUID(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmUniqueIdentifier::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = FrameOfReferenceUID.putOFStringArray(value); + return result; +} + + OFCondition DRTStructureSetIOD::setGantryID(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal; @@ -2444,6 +2535,15 @@ OFCondition DRTStructureSetIOD::setPixelPaddingValue(const Uint16 value, const u } +OFCondition DRTStructureSetIOD::setPositionReferenceIndicator(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmLongString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = PositionReferenceIndicator.putOFStringArray(value); + return result; +} + + OFCondition DRTStructureSetIOD::setQualityControlSubject(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; diff --git a/dcmrt/libsrc/drttms0.cc b/dcmrt/libsrc/drttms0.cc index 328f27b5..60acc416 100644 --- a/dcmrt/libsrc/drttms0.cc +++ b/dcmrt/libsrc/drttms0.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTTreatmentMachineSequenceInRTTreatmentMachineRecordModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drttms9.cc b/dcmrt/libsrc/drttms9.cc index dd8a95e1..8d9d2f57 100644 --- a/dcmrt/libsrc/drttms9.cc +++ b/dcmrt/libsrc/drttms9.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTTreatmentMachineSequenceInRTBrachyApplicationSetupsModule * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drttreat.cc b/dcmrt/libsrc/drttreat.cc index 61780573..9748d148 100644 --- a/dcmrt/libsrc/drttreat.cc +++ b/dcmrt/libsrc/drttreat.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTTreatmentSummaryRecordIOD * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -58,6 +58,8 @@ DRTTreatmentSummaryRecordIOD::DRTTreatmentSummaryRecordIOD() StudyTime(DCM_StudyTime), ReferringPhysicianName(DCM_ReferringPhysicianName), ReferringPhysicianIdentificationSequence(), + ConsultingPhysicianName(DCM_ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(), StudyID(DCM_StudyID), AccessionNumber(DCM_AccessionNumber), IssuerOfAccessionNumberSequence(), @@ -158,6 +160,7 @@ DRTTreatmentSummaryRecordIOD::DRTTreatmentSummaryRecordIOD() QueryRetrieveView(DCM_QueryRetrieveView), ConversionSourceAttributesSequence(), ContentQualification(DCM_ContentQualification), + PrivateDataElementCharacteristicsSequence(), ReferencedSeriesSequence(), StudiesContainingOtherReferencedInstancesSequence() { @@ -207,6 +210,8 @@ DRTTreatmentSummaryRecordIOD::DRTTreatmentSummaryRecordIOD(const DRTTreatmentSum StudyTime(copy.StudyTime), ReferringPhysicianName(copy.ReferringPhysicianName), ReferringPhysicianIdentificationSequence(copy.ReferringPhysicianIdentificationSequence), + ConsultingPhysicianName(copy.ConsultingPhysicianName), + ConsultingPhysicianIdentificationSequence(copy.ConsultingPhysicianIdentificationSequence), StudyID(copy.StudyID), AccessionNumber(copy.AccessionNumber), IssuerOfAccessionNumberSequence(copy.IssuerOfAccessionNumberSequence), @@ -307,6 +312,7 @@ DRTTreatmentSummaryRecordIOD::DRTTreatmentSummaryRecordIOD(const DRTTreatmentSum QueryRetrieveView(copy.QueryRetrieveView), ConversionSourceAttributesSequence(copy.ConversionSourceAttributesSequence), ContentQualification(copy.ContentQualification), + PrivateDataElementCharacteristicsSequence(copy.PrivateDataElementCharacteristicsSequence), ReferencedSeriesSequence(copy.ReferencedSeriesSequence), StudiesContainingOtherReferencedInstancesSequence(copy.StudiesContainingOtherReferencedInstancesSequence) { @@ -362,6 +368,8 @@ DRTTreatmentSummaryRecordIOD &DRTTreatmentSummaryRecordIOD::operator=(const DRTT StudyTime = copy.StudyTime; ReferringPhysicianName = copy.ReferringPhysicianName; ReferringPhysicianIdentificationSequence = copy.ReferringPhysicianIdentificationSequence; + ConsultingPhysicianName = copy.ConsultingPhysicianName; + ConsultingPhysicianIdentificationSequence = copy.ConsultingPhysicianIdentificationSequence; StudyID = copy.StudyID; AccessionNumber = copy.AccessionNumber; IssuerOfAccessionNumberSequence = copy.IssuerOfAccessionNumberSequence; @@ -462,6 +470,7 @@ DRTTreatmentSummaryRecordIOD &DRTTreatmentSummaryRecordIOD::operator=(const DRTT QueryRetrieveView = copy.QueryRetrieveView; ConversionSourceAttributesSequence = copy.ConversionSourceAttributesSequence; ContentQualification = copy.ContentQualification; + PrivateDataElementCharacteristicsSequence = copy.PrivateDataElementCharacteristicsSequence; ReferencedSeriesSequence = copy.ReferencedSeriesSequence; StudiesContainingOtherReferencedInstancesSequence = copy.StudiesContainingOtherReferencedInstancesSequence; } @@ -512,6 +521,8 @@ void DRTTreatmentSummaryRecordIOD::clear() StudyTime.clear(); ReferringPhysicianName.clear(); ReferringPhysicianIdentificationSequence.clear(); + ConsultingPhysicianName.clear(); + ConsultingPhysicianIdentificationSequence.clear(); StudyID.clear(); AccessionNumber.clear(); IssuerOfAccessionNumberSequence.clear(); @@ -612,6 +623,7 @@ void DRTTreatmentSummaryRecordIOD::clear() QueryRetrieveView.clear(); ConversionSourceAttributesSequence.clear(); ContentQualification.clear(); + PrivateDataElementCharacteristicsSequence.clear(); ReferencedSeriesSequence.clear(); StudiesContainingOtherReferencedInstancesSequence.clear(); } @@ -719,6 +731,7 @@ OFCondition DRTTreatmentSummaryRecordIOD::read(DcmItem &dataset) getAndCheckElementFromDataset(dataset, QueryRetrieveView, "1", "1C", "SOPCommonModule"); ConversionSourceAttributesSequence.read(dataset, "1-n", "1C", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, ContentQualification, "1", "3", "SOPCommonModule"); + PrivateDataElementCharacteristicsSequence.read(dataset, "1-n", "3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- ReferencedSeriesSequence.read(dataset, "1-n", "1C", "CommonInstanceReferenceModule"); @@ -793,6 +806,8 @@ OFCondition DRTTreatmentSummaryRecordIOD::readStudyData(DcmItem &dataset) getAndCheckElementFromDataset(dataset, StudyTime, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, ReferringPhysicianName, "1", "2", "GeneralStudyModule"); ReferringPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); + getAndCheckElementFromDataset(dataset, ConsultingPhysicianName, "1-n", "3", "GeneralStudyModule"); + ConsultingPhysicianIdentificationSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, StudyID, "1", "2", "GeneralStudyModule"); getAndCheckElementFromDataset(dataset, AccessionNumber, "1", "2", "GeneralStudyModule"); IssuerOfAccessionNumberSequence.read(dataset, "1-n", "3", "GeneralStudyModule"); @@ -929,6 +944,8 @@ OFCondition DRTTreatmentSummaryRecordIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmTime(StudyTime), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmPersonName(ReferringPhysicianName), "1", "2", "GeneralStudyModule"); if (result.good()) result = ReferringPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); + addElementToDataset(result, dataset, new DcmPersonName(ConsultingPhysicianName), "1-n", "3", "GeneralStudyModule"); + if (result.good()) result = ConsultingPhysicianIdentificationSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(StudyID), "1", "2", "GeneralStudyModule"); addElementToDataset(result, dataset, new DcmShortString(AccessionNumber), "1", "2", "GeneralStudyModule"); if (result.good()) result = IssuerOfAccessionNumberSequence.write(dataset, "1-n" ,"3", "GeneralStudyModule"); @@ -1055,6 +1072,7 @@ OFCondition DRTTreatmentSummaryRecordIOD::write(DcmItem &dataset) addElementToDataset(result, dataset, new DcmCodeString(QueryRetrieveView), "1", "1C", "SOPCommonModule"); if (result.good()) result = ConversionSourceAttributesSequence.write(dataset, "1-n" ,"1C", "SOPCommonModule"); addElementToDataset(result, dataset, new DcmCodeString(ContentQualification), "1", "3", "SOPCommonModule"); + if (result.good()) result = PrivateDataElementCharacteristicsSequence.write(dataset, "1-n" ,"3", "SOPCommonModule"); // --- CommonInstanceReferenceModule (U) --- if (isCommonInstanceReferenceModulePresent(OFFalse /*complete*/)) @@ -1256,6 +1274,12 @@ OFCondition DRTTreatmentSummaryRecordIOD::getCommentsOnThePerformedProcedureStep } +OFCondition DRTTreatmentSummaryRecordIOD::getConsultingPhysicianName(OFString &value, const signed long pos) const +{ + return getStringValueFromElement(ConsultingPhysicianName, value, pos); +} + + OFCondition DRTTreatmentSummaryRecordIOD::getContentQualification(OFString &value, const signed long pos) const { return getStringValueFromElement(ContentQualification, value, pos); @@ -1958,6 +1982,15 @@ OFCondition DRTTreatmentSummaryRecordIOD::setCommentsOnThePerformedProcedureStep } +OFCondition DRTTreatmentSummaryRecordIOD::setConsultingPhysicianName(const OFString &value, const OFBool check) +{ + OFCondition result = (check) ? DcmPersonName::checkStringValue(value, "1-n") : EC_Normal; + if (result.good()) + result = ConsultingPhysicianName.putOFStringArray(value); + return result; +} + + OFCondition DRTTreatmentSummaryRecordIOD::setContentQualification(const OFString &value, const OFBool check) { OFCondition result = (check) ? DcmCodeString::checkStringValue(value, "1") : EC_Normal; diff --git a/dcmrt/libsrc/drttscds.cc b/dcmrt/libsrc/drttscds.cc index 662333e3..e9b64a10 100644 --- a/dcmrt/libsrc/drttscds.cc +++ b/dcmrt/libsrc/drttscds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTTreatmentSummaryCalculatedDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drttsibs.cc b/dcmrt/libsrc/drttsibs.cc index 762ec603..a69c8927 100644 --- a/dcmrt/libsrc/drttsibs.cc +++ b/dcmrt/libsrc/drttsibs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTTreatmentSessionIonBeamSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drttsmds.cc b/dcmrt/libsrc/drttsmds.cc index e4f0a76b..c70d66ce 100644 --- a/dcmrt/libsrc/drttsmds.cc +++ b/dcmrt/libsrc/drttsmds.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTTreatmentSummaryMeasuredDoseReferenceSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drttts.cc b/dcmrt/libsrc/drttts.cc index ecacdc77..bb271cdd 100644 --- a/dcmrt/libsrc/drttts.cc +++ b/dcmrt/libsrc/drttts.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTToleranceTableSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtvls.cc b/dcmrt/libsrc/drtvls.cc index 2f69b8bc..3694971a 100644 --- a/dcmrt/libsrc/drtvls.cc +++ b/dcmrt/libsrc/drtvls.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTVOILUTSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtwps.cc b/dcmrt/libsrc/drtwps.cc index b6e83bcd..3ccbe58f 100644 --- a/dcmrt/libsrc/drtwps.cc +++ b/dcmrt/libsrc/drtwps.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTWedgePositionSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtwrs.cc b/dcmrt/libsrc/drtwrs.cc index 8d8e0cb3..bac12560 100644 --- a/dcmrt/libsrc/drtwrs.cc +++ b/dcmrt/libsrc/drtwrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTWADORetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/libsrc/drtwrsrs.cc b/dcmrt/libsrc/drtwrsrs.cc new file mode 100644 index 00000000..c2a748b9 --- /dev/null +++ b/dcmrt/libsrc/drtwrsrs.cc @@ -0,0 +1,544 @@ +/* + * + * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class DRTWADORSRetrievalSequence + * + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 + * + */ + + +#include "dcmtk/config/osconfig.h" // make sure OS specific configuration is included first + +#include "dcmtk/dcmrt/seq/drtwrsrs.h" + + +// --- item class --- + +DRTWADORSRetrievalSequence::Item::Item(const OFBool emptyDefaultItem) + : EmptyDefaultItem(emptyDefaultItem), + RetrieveURL(DCM_RetrieveURL) +{ +} + + +DRTWADORSRetrievalSequence::Item::Item(const Item ©) + : EmptyDefaultItem(copy.EmptyDefaultItem), + RetrieveURL(copy.RetrieveURL) +{ +} + + +DRTWADORSRetrievalSequence::Item::~Item() +{ +} + + +DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::Item::operator=(const Item ©) +{ + if (this != ©) + { + EmptyDefaultItem = copy.EmptyDefaultItem; + RetrieveURL = copy.RetrieveURL; + } + return *this; +} + + +void DRTWADORSRetrievalSequence::Item::clear() +{ + if (!EmptyDefaultItem) + { + /* clear all DICOM attributes */ + RetrieveURL.clear(); + } +} + + +OFBool DRTWADORSRetrievalSequence::Item::isEmpty() +{ + return RetrieveURL.isEmpty(); +} + + +OFBool DRTWADORSRetrievalSequence::Item::isValid() const +{ + return !EmptyDefaultItem; +} + + +OFCondition DRTWADORSRetrievalSequence::Item::read(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + /* re-initialize object */ + clear(); + getAndCheckElementFromDataset(item, RetrieveURL, "1", "1", "WADORSRetrievalSequence"); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::Item::write(DcmItem &item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = EC_Normal; + addElementToDataset(result, item, new DcmUniversalResourceIdentifierOrLocator(RetrieveURL), "1", "1", "WADORSRetrievalSequence"); + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::Item::getRetrieveURL(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(RetrieveURL, value, pos); +} + + +OFCondition DRTWADORSRetrievalSequence::Item::setRetrieveURL(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmUniversalResourceIdentifierOrLocator::checkStringValue(value) : EC_Normal; + if (result.good()) + result = RetrieveURL.putOFStringArray(value); + } + return result; +} + + +// --- sequence class --- + +DRTWADORSRetrievalSequence::DRTWADORSRetrievalSequence(const OFBool emptyDefaultSequence) + : EmptyDefaultSequence(emptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + CurrentItem = SequenceOfItems.end(); +} + + +DRTWADORSRetrievalSequence::DRTWADORSRetrievalSequence(const DRTWADORSRetrievalSequence ©) + : EmptyDefaultSequence(copy.EmptyDefaultSequence), + SequenceOfItems(), + CurrentItem(), + EmptyItem(OFTrue /*emptyDefaultItem*/) +{ + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); +} + + +DRTWADORSRetrievalSequence &DRTWADORSRetrievalSequence::operator=(const DRTWADORSRetrievalSequence ©) +{ + if (this != ©) + { + clear(); + EmptyDefaultSequence = copy.EmptyDefaultSequence; + /* create a copy of the internal sequence of items */ + Item *item = NULL; + OFListConstIterator(Item *) current = copy.SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = copy.SequenceOfItems.end(); + while (current != last) + { + item = new Item(**current); + if (item != NULL) + { + SequenceOfItems.push_back(item); + } else { + /* memory exhausted, there is nothing we can do about it */ + break; + } + ++current; + } + CurrentItem = SequenceOfItems.begin(); + } + return *this; +} + + +DRTWADORSRetrievalSequence::~DRTWADORSRetrievalSequence() +{ + clear(); +} + + +void DRTWADORSRetrievalSequence::clear() +{ + if (!EmptyDefaultSequence) + { + CurrentItem = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* delete all items and free memory */ + while (CurrentItem != last) + { + delete (*CurrentItem); + CurrentItem = SequenceOfItems.erase(CurrentItem); + } + /* make sure that the list is empty */ + SequenceOfItems.clear(); + CurrentItem = SequenceOfItems.end(); + } +} + + +OFBool DRTWADORSRetrievalSequence::isEmpty() +{ + return SequenceOfItems.empty(); +} + + +OFBool DRTWADORSRetrievalSequence::isValid() const +{ + return !EmptyDefaultSequence; +} + + +unsigned long DRTWADORSRetrievalSequence::getNumberOfItems() const +{ + return SequenceOfItems.size(); +} + + +OFCondition DRTWADORSRetrievalSequence::gotoFirstItem() +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + CurrentItem = SequenceOfItems.begin(); + result = EC_Normal; + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::gotoNextItem() +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + ++CurrentItem; + result = EC_Normal; + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::gotoItem(const unsigned long num, OFListIterator(Item *) &iterator) +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::gotoItem(const unsigned long num, OFListConstIterator(Item *) &iterator) const +{ + OFCondition result = EC_IllegalCall; + if (!SequenceOfItems.empty()) + { + unsigned long idx = num + 1; + iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + while ((--idx > 0) && (iterator != last)) + ++iterator; + /* specified list item found? */ + if ((idx == 0) && (iterator != last)) + result = EC_Normal; + else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::gotoItem(const unsigned long num) +{ + return gotoItem(num, CurrentItem); +} + + +OFCondition DRTWADORSRetrievalSequence::getCurrentItem(Item *&item) const +{ + OFCondition result = EC_IllegalCall; + if (CurrentItem != SequenceOfItems.end()) + { + item = *CurrentItem; + result = EC_Normal; + } + return result; +} + + +DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getCurrentItem() +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +const DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getCurrentItem() const +{ + if (CurrentItem != SequenceOfItems.end()) + return **CurrentItem; + else + return EmptyItem; +} + + +OFCondition DRTWADORSRetrievalSequence::getItem(const unsigned long num, Item *&item) +{ + OFListIterator(Item *) iterator; + OFCondition result = gotoItem(num, iterator); + if (result.good()) + item = *iterator; + return result; +} + + +DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getItem(const unsigned long num) +{ + OFListIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +const DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::getItem(const unsigned long num) const +{ + OFListConstIterator(Item *) iterator; + if (gotoItem(num, iterator).good()) + return **iterator; + else + return EmptyItem; +} + + +DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::operator[](const unsigned long num) +{ + return getItem(num); +} + + +const DRTWADORSRetrievalSequence::Item &DRTWADORSRetrievalSequence::operator[](const unsigned long num) const +{ + return getItem(num); +} + + +OFCondition DRTWADORSRetrievalSequence::addItem(Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.push_back(item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::insertItem(const unsigned long pos, Item *&item) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + result = gotoItem(pos, iterator); + if (result.good()) + { + item = new Item(); + if (item != NULL) + { + SequenceOfItems.insert(iterator, 1, item); + result = EC_Normal; + } else + result = EC_MemoryExhausted; + } else + result = addItem(item); + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::removeItem(const unsigned long pos) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + OFListIterator(Item *) iterator; + if (gotoItem(pos, iterator).good()) + { + delete *iterator; + iterator = SequenceOfItems.erase(iterator); + result = EC_Normal; + } else + result = EC_IllegalParameter; + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::read(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + /* re-initialize object */ + clear(); + /* retrieve sequence element from dataset */ + DcmSequenceOfItems *sequence; + result = dataset.findAndGetSequence(DCM_WADORSRetrievalSequence, sequence); + if (sequence != NULL) + { + if (checkElementValue(*sequence, card, type, result, moduleName)) + { + DcmStack stack; + OFBool first = OFTrue; + /* iterate over all sequence items */ + while (result.good() && sequence->nextObject(stack, first /*intoSub*/).good()) + { + DcmItem *ditem = OFstatic_cast(DcmItem *, stack.top()); + if (ditem != NULL) + { + Item *item = new Item(); + if (item != NULL) + { + result = item->read(*ditem); + if (result.good()) + { + /* append new item to the end of the list */ + SequenceOfItems.push_back(item); + first = OFFalse; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_CorruptedData; + } + } + } else { + DcmSequenceOfItems element(DCM_WADORSRetrievalSequence); + checkElementValue(element, card, type, result, moduleName); + } + } + return result; +} + + +OFCondition DRTWADORSRetrievalSequence::write(DcmItem &dataset, + const OFString &card, + const OFString &type, + const char *moduleName) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultSequence) + { + result = EC_MemoryExhausted; + DcmSequenceOfItems *sequence = new DcmSequenceOfItems(DCM_WADORSRetrievalSequence); + if (sequence != NULL) + { + result = EC_Normal; + /* an empty optional sequence is not written */ + if ((type == "2") || !SequenceOfItems.empty()) + { + OFListIterator(Item *) iterator = SequenceOfItems.begin(); + const OFListConstIterator(Item *) last = SequenceOfItems.end(); + /* iterate over all sequence items */ + while (result.good() && (iterator != last)) + { + DcmItem *item = new DcmItem(); + if (item != NULL) + { + /* append new item to the end of the sequence */ + result = sequence->append(item); + if (result.good()) + { + result = (*iterator)->write(*item); + ++iterator; + } else + delete item; + } else + result = EC_MemoryExhausted; + } + if (result.good()) + { + /* insert sequence element into the dataset */ + result = dataset.insert(sequence, OFTrue /*replaceOld*/); + } + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + if (result.good()) + { + /* forget reference to sequence object (avoid deletion below) */ + sequence = NULL; + } + } + else if (type == "1") + { + /* empty type 1 sequence not allowed */ + result = RT_EC_InvalidValue; + if (DCM_dcmrtLogger.isEnabledFor(OFLogger::WARN_LOG_LEVEL)) + checkElementValue(*sequence, card, type, result, moduleName); + } + /* delete sequence (if not inserted into the dataset) */ + delete sequence; + } + } + return result; +} + + +// end of source file diff --git a/dcmrt/libsrc/drtws.cc b/dcmrt/libsrc/drtws.cc index d6bfed4d..99b9f528 100644 --- a/dcmrt/libsrc/drtws.cc +++ b/dcmrt/libsrc/drtws.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTWedgeSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ @@ -22,6 +22,7 @@ DRTWedgeSequence::Item::Item(const OFBool emptyDefaultItem) : EmptyDefaultItem(emptyDefaultItem), AccessoryCode(DCM_AccessoryCode), + EffectiveWedgeAngle(DCM_EffectiveWedgeAngle), SourceToWedgeTrayDistance(DCM_SourceToWedgeTrayDistance), WedgeAngle(DCM_WedgeAngle), WedgeFactor(DCM_WedgeFactor), @@ -36,6 +37,7 @@ DRTWedgeSequence::Item::Item(const OFBool emptyDefaultItem) DRTWedgeSequence::Item::Item(const Item ©) : EmptyDefaultItem(copy.EmptyDefaultItem), AccessoryCode(copy.AccessoryCode), + EffectiveWedgeAngle(copy.EffectiveWedgeAngle), SourceToWedgeTrayDistance(copy.SourceToWedgeTrayDistance), WedgeAngle(copy.WedgeAngle), WedgeFactor(copy.WedgeFactor), @@ -58,6 +60,7 @@ DRTWedgeSequence::Item &DRTWedgeSequence::Item::operator=(const Item ©) { EmptyDefaultItem = copy.EmptyDefaultItem; AccessoryCode = copy.AccessoryCode; + EffectiveWedgeAngle = copy.EffectiveWedgeAngle; SourceToWedgeTrayDistance = copy.SourceToWedgeTrayDistance; WedgeAngle = copy.WedgeAngle; WedgeFactor = copy.WedgeFactor; @@ -83,6 +86,7 @@ void DRTWedgeSequence::Item::clear() WedgeFactor.clear(); WedgeOrientation.clear(); SourceToWedgeTrayDistance.clear(); + EffectiveWedgeAngle.clear(); } } @@ -96,7 +100,8 @@ OFBool DRTWedgeSequence::Item::isEmpty() WedgeAngle.isEmpty() && WedgeFactor.isEmpty() && WedgeOrientation.isEmpty() && - SourceToWedgeTrayDistance.isEmpty(); + SourceToWedgeTrayDistance.isEmpty() && + EffectiveWedgeAngle.isEmpty(); } @@ -121,6 +126,7 @@ OFCondition DRTWedgeSequence::Item::read(DcmItem &item) getAndCheckElementFromDataset(item, WedgeFactor, "1", "2", "WedgeSequence"); getAndCheckElementFromDataset(item, WedgeOrientation, "1", "2", "WedgeSequence"); getAndCheckElementFromDataset(item, SourceToWedgeTrayDistance, "1", "3", "WedgeSequence"); + getAndCheckElementFromDataset(item, EffectiveWedgeAngle, "1", "3", "WedgeSequence"); result = EC_Normal; } return result; @@ -141,6 +147,7 @@ OFCondition DRTWedgeSequence::Item::write(DcmItem &item) addElementToDataset(result, item, new DcmDecimalString(WedgeFactor), "1", "2", "WedgeSequence"); addElementToDataset(result, item, new DcmDecimalString(WedgeOrientation), "1", "2", "WedgeSequence"); addElementToDataset(result, item, new DcmDecimalString(SourceToWedgeTrayDistance), "1", "3", "WedgeSequence"); + addElementToDataset(result, item, new DcmDecimalString(EffectiveWedgeAngle), "1", "3", "WedgeSequence"); } return result; } @@ -155,6 +162,24 @@ OFCondition DRTWedgeSequence::Item::getAccessoryCode(OFString &value, const sign } +OFCondition DRTWedgeSequence::Item::getEffectiveWedgeAngle(OFString &value, const signed long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return getStringValueFromElement(EffectiveWedgeAngle, value, pos); +} + + +OFCondition DRTWedgeSequence::Item::getEffectiveWedgeAngle(Float64 &value, const unsigned long pos) const +{ + if (EmptyDefaultItem) + return EC_IllegalCall; + else + return OFconst_cast(DcmDecimalString &, EffectiveWedgeAngle).getFloat64(value, pos); +} + + OFCondition DRTWedgeSequence::Item::getSourceToWedgeTrayDistance(OFString &value, const signed long pos) const { if (EmptyDefaultItem) @@ -276,6 +301,19 @@ OFCondition DRTWedgeSequence::Item::setAccessoryCode(const OFString &value, cons } +OFCondition DRTWedgeSequence::Item::setEffectiveWedgeAngle(const OFString &value, const OFBool check) +{ + OFCondition result = EC_IllegalCall; + if (!EmptyDefaultItem) + { + result = (check) ? DcmDecimalString::checkStringValue(value, "1") : EC_Normal; + if (result.good()) + result = EffectiveWedgeAngle.putOFStringArray(value); + } + return result; +} + + OFCondition DRTWedgeSequence::Item::setSourceToWedgeTrayDistance(const OFString &value, const OFBool check) { OFCondition result = EC_IllegalCall; diff --git a/dcmrt/libsrc/drtxrs.cc b/dcmrt/libsrc/drtxrs.cc index 0698c260..a9fffff7 100644 --- a/dcmrt/libsrc/drtxrs.cc +++ b/dcmrt/libsrc/drtxrs.cc @@ -1,13 +1,13 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2014, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTXDSRetrievalSequence * - * Generated automatically from DICOM PS 3.3-2014b - * File created on 2014-10-31 15:59:21 + * Generated automatically from DICOM PS 3.3-2015c + * File created on 2015-12-07 16:29:33 * */ diff --git a/dcmrt/tests/Makefile.dep b/dcmrt/tests/Makefile.dep index b6a1b58b..8535fc6d 100644 --- a/dcmrt/tests/Makefile.dep +++ b/dcmrt/tests/Makefile.dep @@ -38,6 +38,8 @@ drttest.o: drttest.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ @@ -108,13 +110,16 @@ drttest.o: drttest.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtbrs.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtbrs.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdvhs.h \ @@ -144,11 +149,14 @@ drttest.o: drttest.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpsss.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpsss.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrcs.h ../include/dcmtk/dcmrt/seq/drtcs.h \ ../include/dcmtk/dcmrt/seq/drtcis.h \ ../include/dcmtk/dcmrt/seq/drtrdros.h \ ../include/dcmtk/dcmrt/seq/drtrwvms.h \ + ../include/dcmtk/dcmrt/seq/drtqds.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrfors.h \ ../include/dcmtk/dcmrt/seq/drtrsts.h \ @@ -156,8 +164,10 @@ drttest.o: drttest.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrims.h ../include/dcmtk/dcmrt/seq/drtris.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps.h \ ../include/dcmtk/dcmrt/seq/drtrfgs.h \ @@ -245,6 +255,8 @@ tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -287,6 +299,8 @@ tsearch.o: tsearch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -381,10 +395,11 @@ tsearch.o: tsearch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtass.h \ - ../include/dcmtk/dcmrt/seq/drtbads.h ../include/dcmtk/dcmrt/seq/drtchs.h \ - ../include/dcmtk/dcmrt/seq/drtbcps.h \ + ../include/dcmtk/dcmrt/seq/drtadcs.h ../include/dcmtk/dcmrt/seq/drtecs.h \ + ../include/dcmtk/dcmrt/seq/drtass.h ../include/dcmtk/dcmrt/seq/drtbads.h \ + ../include/dcmtk/dcmrt/seq/drtchs.h ../include/dcmtk/dcmrt/seq/drtbcps.h \ ../include/dcmtk/dcmrt/seq/drtbrdrs.h \ ../include/dcmtk/dcmrt/seq/drtcshs.h \ ../include/dcmtk/dcmrt/seq/drtrris9.h ../include/dcmtk/dcmrt/seq/drtbs.h \ @@ -403,8 +418,9 @@ tsearch.o: tsearch.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtbrcss.h \ ../include/dcmtk/dcmrt/seq/drtcsis.h \ ../include/dcmtk/dcmrt/seq/drtcctus.h \ - ../include/dcmtk/dcmrt/seq/drtces.h ../include/dcmtk/dcmrt/seq/drtois.h \ - ../include/dcmtk/dcmrt/seq/drtics.h ../include/dcmtk/dcmrt/seq/drtpics.h \ + ../include/dcmtk/dcmrt/seq/drtcpis.h ../include/dcmtk/dcmrt/seq/drtics.h \ + ../include/dcmtk/dcmrt/seq/drtpics.h ../include/dcmtk/dcmrt/seq/drtces.h \ + ../include/dcmtk/dcmrt/seq/drtois.h \ ../include/dcmtk/dcmrt/seq/drtporcs.h \ ../include/dcmtk/dcmrt/seq/drtcsas.h \ ../include/dcmtk/dcmrt/seq/drtdimcs.h \ @@ -438,12 +454,15 @@ tsearch.o: tsearch.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmrt/seq/drtrsos.h \ ../include/dcmtk/dcmrt/seq/drtporis.h \ ../include/dcmtk/dcmrt/seq/drtprsis.h \ - ../include/dcmtk/dcmrt/seq/drtpcs.h \ + ../include/dcmtk/dcmrt/seq/drtpdecs.h \ + ../include/dcmtk/dcmrt/seq/drtdias.h ../include/dcmtk/dcmrt/seq/drtpcs.h \ ../include/dcmtk/dcmrt/seq/drtrppcs.h \ ../include/dcmtk/dcmrt/seq/drtrpphs.h \ ../include/dcmtk/dcmrt/seq/drtdimrs.h \ - ../include/dcmtk/dcmrt/seq/drtdirs.h ../include/dcmtk/dcmrt/seq/drtwrs.h \ - ../include/dcmtk/dcmrt/seq/drtxrs.h ../include/dcmtk/dcmrt/seq/drtrps.h \ + ../include/dcmtk/dcmrt/seq/drtdirs.h \ + ../include/dcmtk/dcmrt/seq/drtwrsrs.h \ + ../include/dcmtk/dcmrt/seq/drtwrs.h ../include/dcmtk/dcmrt/seq/drtxrs.h \ + ../include/dcmtk/dcmrt/seq/drtrps.h \ ../include/dcmtk/dcmrt/seq/drtrppss.h \ ../include/dcmtk/dcmrt/seq/drtrrtps3.h \ ../include/dcmtk/dcmrt/seq/drtrsers.h \ diff --git a/dcmseg/CMakeLists.txt b/dcmseg/CMakeLists.txt index 5789f4fc..d023052b 100644 --- a/dcmseg/CMakeLists.txt +++ b/dcmseg/CMakeLists.txt @@ -2,9 +2,9 @@ PROJECT(dcmseg) # declare include directories which hold for all subdirectories -INCLUDE_DIRECTORIES(${dcmseg_SOURCE_DIR}/include ${dcmfg_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmsr_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR}) +INCLUDE_DIRECTORIES(${dcmseg_SOURCE_DIR}/include ${dcmfg_SOURCE_DIR}/include ${dcmiod_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${ZLIB_INCDIR}) # recurse into subdirectories -FOREACH(SUBDIR libsrc include) +FOREACH(SUBDIR libsrc include tests) ADD_SUBDIRECTORY(${SUBDIR}) ENDFOREACH(SUBDIR) diff --git a/dcmseg/Makefile.in b/dcmseg/Makefile.in index 230ed7be..f1c79ee8 100644 --- a/dcmseg/Makefile.in +++ b/dcmseg/Makefile.in @@ -83,4 +83,4 @@ distclean: dependencies: (cd libsrc && touch $(DEP) && $(MAKE) dependencies) -# (cd tests && touch $(DEP) && $(MAKE) dependencies) + (cd tests && touch $(DEP) && $(MAKE) dependencies) diff --git a/dcmseg/apps/CMakeLists.txt b/dcmseg/apps/CMakeLists.txt new file mode 100644 index 00000000..50c5e989 --- /dev/null +++ b/dcmseg/apps/CMakeLists.txt @@ -0,0 +1,9 @@ +# declare executables +FOREACH(PROGRAM makeseg rwseg) + DCMTK_ADD_EXECUTABLE(${PROGRAM} ${PROGRAM}) +ENDFOREACH(PROGRAM) + +# make sure executables are linked to the corresponding libraries +FOREACH(PROGRAM makeseg rwseg) + DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmseg dcmfg dcmiod dcmdata oflog ofstd) +ENDFOREACH(PROGRAM) diff --git a/dcmseg/include/dcmtk/dcmseg/segdoc.h b/dcmseg/include/dcmtk/dcmseg/segdoc.h index ae341523..55a3e0c3 100644 --- a/dcmseg/include/dcmtk/dcmseg/segdoc.h +++ b/dcmseg/include/dcmtk/dcmseg/segdoc.h @@ -215,7 +215,8 @@ public: /** Get modality (overwrite from DcmIODCommon. We always return "SEG" here) * @param value Reference to variable in which the value should be stored - * @param pos Index of the value to get (0..vm-1), -1 for all components + * @param pos Index of the value to get. Not evaluated (here for + * consistency with other setter functions). * @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition getModality(OFString &value, @@ -225,7 +226,7 @@ public: * @param segmentNumber The logical segment number * @return The segment if segment number is valid, NULL otherwise */ - virtual DcmSegment* getSegment(const size_t& segmentNumber); + virtual DcmSegment* getSegment(const unsigned int segmentNumber); /** Get logical segment number by providing a pointer to a given segment * @param segment The segment to find the logical segment number for @@ -233,36 +234,14 @@ public: * @return OFTrue if segment could be found, OFFalse otherwise. */ virtual OFBool getSegmentNumber(const DcmSegment* segment, - Uint16& segmentNumber); + unsigned int& segmentNumber); - /** Find segments by their segment label - * @param segmentLabel - * @return Vector of segment numbers that match the given label + /** Reference to the Performed Procedure Step that led to the creation of this + * segmentation object. This is required if this object is created in an MPPS + * or GPPS workflow. + * @return Reference to the referenced PPS object */ - virtual const OFVector findSegmentByLabel(const OFString& segmentLabel); - - /** Find segments by their segment's category code - * @param categoryCode The category code to look for - * @return Vector of segment numbers that match the given category - */ - virtual const OFVector findSegmentByCategory(const CodeSequenceMacro& categoryCode); - - /** Find segments by their segment's property type code - * @param propertyType The property type code to look for - * @return Vector of segment numbers that match the given property type - */ - virtual const OFVector findSegmentyByType(const CodeSequenceMacro& propertyType); - - /** Reference the PPS that led to the creation of this segmentation object. - * This is required if this object is created in an MPPS or GPPS workflow. - * @param refSOPClassUID The SOP Class UID of the Performed - * Procedure Step - * @param refSOPInstanceUID The SOP Instance UID of the Performed - * Procedure Step - * @return EC_Normal if successful, error otherwise. - */ - virtual void getReferencedPPS(OFString& refSOPClassUID, - OFString& refSOPInstanceUID) const; + virtual SOPInstanceReferenceMacro& getReferencedPPS(); /** Get (const) frame data of a specific frame * @param frameNo The number of the frame to get (starting with 0) @@ -351,17 +330,6 @@ public: virtual OFCondition setContentIdentification(const ContentIdentificationMacro& contentIdentification, const OFBool checkValue = OFTrue); - /** Reference the PPS that led to the creation of this segmentation object. - * This is required if this object is created in an MPPS or GPPS workflow. - * @param refSOPClassUID The SOP Class UID of the Performed - * Procedure Step - * @param refSOPInstanceUID The SOP Instance UID of the Performed - * Procedure Step - * @return EC_Normal if successful, error otherwise. - */ - virtual OFCondition setReferencedPPS(const OFString& refSOPClassUID, - const OFString& refSOPInstanceUID); - protected: /** Protected default constructor. Library users should the factory create..() @@ -412,11 +380,18 @@ protected: */ virtual OFCondition readSegments(DcmItem& item); - /** Write frames to given item + /** Write fractional frames to given item * @param dataset The item to write to, usually main dataset level * @return EC_Normal if writing was successful, error otherwise */ - virtual OFCondition writeFrames(DcmItem& dataset); + virtual OFCondition writeFractionalFrames(DcmItem& dataset); + + /** Write binary frames to given item + * @param dataset The item to write to, usually main dataset level + * @return EC_Normal if writing was successful, error otherwise + */ + virtual OFCondition writeBinaryFrames(DcmItem& dataset); + /** Write Segmentation Image Module * @param dataset The item to write to, usually main dataset level @@ -472,15 +447,45 @@ protected: Uint16& numberOfFrames, OFString& colorModel); + /** Extracts Frame structures from the given pixel data element. Only + * applicable for binary segmentations. Within the pixel data element, all + * frames are packed next to each other, with the end of one frame and the + * beginning of the next frame packed bit by bit next to each other. The + * resulting Frames are a bit-by-bit copy of their original counterpart. + * However, their first bit is aligned to the first bit/byte in the Frame, + * and the unused bits in the last byte (if any) are zeroed out. + * @param pixData The pixel data to read from + * @param numFrames The number of frames to read + * @param bitsPerFrame The number of bits per frame (usually rows * columns) + * @param results The resulting frames. Memory for the frames is allocated + * by the method, so the Vector can/should be empty before calling. + */ + virtual void extractFrames(Uint8* pixData, + const size_t numFrames, + const size_t bitsPerFrame, + OFVector< DcmIODTypes::Frame* >& results); + + /** This is the counterpart to the extractFrames() function. It takes a number + * of frames that are in binary segmentation format (i.e. "bit-packed") and + * concatenates them together so the resulting memory block fits the Pixel + * Data format for binary segmentations. Thus method ensure that frames + * are aligned bit for bit concatenated to each other with only (if + * applicable) having unused bits after the last frame. + * @param frames The source frames + * @param pixData The pixel data element data to be filled. Size must be + * at least bitsPerFrame * number of frames. + * @param bitsPerFrame Bits required per frame, usually rows * columns + */ + virtual void concatFrames(OFVector< DcmIODTypes::Frame* > frames, + Uint8* pixData, + const size_t bitsPerFrame); + /** Add frame to segmentation object. * @param pixData Pixel data to be added. Length must be rows*columns bytes. * Pixel data is copied so it must be freed by the caller. - * @param segmentNumber The logical segment number (>=1) this frame refers - * to. The segment identified by the segmentNumber must already exist. * @return EC_Normal if adding was successul, error otherwise */ - virtual OFCondition addFrame(Uint8* pixData, - const Uint16 segmentNumber); + virtual OFCondition addFrame(Uint8* pixData); /// Constant code (required by Segmentation IOD) used to fill Derivation /// Image Functional Group diff --git a/dcmseg/include/dcmtk/dcmseg/segment.h b/dcmseg/include/dcmtk/dcmseg/segment.h index c36d18d5..58d6b8c9 100644 --- a/dcmseg/include/dcmtk/dcmseg/segment.h +++ b/dcmseg/include/dcmtk/dcmseg/segment.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -98,7 +98,7 @@ public: /** Get Segment Number * @return The Segment number */ - virtual Uint16 getSegmentNumber(); + virtual unsigned int getSegmentNumber(); /** Get Segment Label * @param value Reference to variable in which the value should be stored @@ -165,6 +165,23 @@ public: Uint16& a, Uint16& b); + /** Get Tracking ID + * @param value Reference to variable in which the value should be stored + * @param pos Index of the value to get (0..vm-1), -1 for all components + * @return EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getTrackingID(OFString& value, + const signed long pos = 0); + + /** Get Tracking UID + * @param value Reference to variable in which the value should be stored + * @param pos Index of the value to get (0..vm-1), -1 for all components + * @return EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getTrackingUID(OFString& value, + const signed long pos = 0); + + // -------------- setters -------------------- /** Set Segment Label @@ -222,6 +239,23 @@ public: const Uint16 b, const OFBool checkValue = OFTrue); + /** Set Tracking ID + * @param value Value to be set (single value only) or "" for no value + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). + * @return EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setTrackingID(const OFString& value, + const OFBool checkValue = OFTrue); + + /** Set Tracking UID + * @param value Value to be set (single value only) or "" for no value + * @param checkValue Check 'value' for conformance with VR (UI) and VM (1) if enabled + * @return EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setTrackingUID(const OFString& value, + const OFBool checkValue = OFTrue); + // The utility class must access the protected default constructor friend class DcmIODUtil; @@ -264,6 +298,12 @@ private: /// Recommended Display CIELab Value (US, 3, 3) DcmUnsignedShort m_RecommendedDisplayCIELabValue; + /// Tracking ID (UT, 1, 1C) + DcmUnlimitedText m_TrackingID; + + /// Tracking UID (UI, 1, 1C) + DcmUniqueIdentifier m_TrackingUID; + /// Rules for data elements within this IOD IODRules m_Rules; }; diff --git a/dcmseg/include/dcmtk/dcmseg/segtypes.h b/dcmseg/include/dcmtk/dcmseg/segtypes.h index f97cca09..b332c9c9 100644 --- a/dcmseg/include/dcmtk/dcmseg/segtypes.h +++ b/dcmseg/include/dcmtk/dcmseg/segtypes.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -61,6 +61,12 @@ const Uint32 DCM_SEG_MAX_SEGMENTS = 65536; extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_MaxSegmentsReached; /// error: specified segment does not exist extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_NoSuchSegment; +/// error: unknown segmentation type +extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_UnknownSegmentationType; +/// error: invalid value +extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_InvalidValue; +/// error: not enough data +extern DCMTK_DCMSEG_EXPORT const OFConditionConst SG_EC_NotEnoughData; /** General purpose class hiding global functions, constants and types in the * segmentation context from the global namespace. @@ -288,8 +294,8 @@ public: /** Set Segment Description * @param value Value to be set (single value only) or "" for no value - * @param checkValue Check 'value' for conformance with VR (ST) and VM (1) - * if enabled + * @param checkValue Check 'value'. Not evaluated (here for consistency + * with other setter functions). * @return EC_Normal if successful, an error code otherwise */ virtual OFCondition setSegmentDescription(const OFString& value, diff --git a/dcmseg/include/dcmtk/dcmseg/segutils.h b/dcmseg/include/dcmtk/dcmseg/segutils.h index 744b7ea1..05f30ee3 100644 --- a/dcmseg/include/dcmtk/dcmseg/segutils.h +++ b/dcmseg/include/dcmtk/dcmseg/segutils.h @@ -52,16 +52,54 @@ public: */ static size_t getBytesForBinaryFrame(const size_t& numPixels); - /** Unpacks a binary segmentation frame into a "sparse" pixel data frame - * @param frame The input frame in packed format - * @param rows The number of rows in the pixel data - * @param cols the number of cols in the pixel data - * @return The segmentation frame in unpacked format + /** Unpacks a binary segmentation frame into a "sparse" pixel data frame where + * every resulting byte represents a single bit of the frame being either + * 0 (not set) or 1 (set). + * @param frame The input buffer with the frame in packed format + * @param rows The rows of the frame + * @param cols The cols of the frame + * @return The segmentation frame in unpacked format. NULL in case of error. */ static DcmIODTypes::Frame* unpackBinaryFrame(const DcmIODTypes::Frame* frame, - const Uint16 rows, - const Uint16 cols); + Uint16 rows, + Uint16 cols); + /** Shifts the given memory block some defined number of bits to the right + * Bits that fall off the last byte are lost (i.e. no "cycled" shift). + * @param buf The address of the memory buffer to shift + * @param bufLen The length of the buf memory block in bytes + * @param numBits The number of bits to shift. Must be 0 <= numBits <= 7. + */ + static void shiftRight(Uint8* buf, + size_t bufLen, + Uint8 numBits); + + /** Shifts the given memory block some defined number of bits to the left. + * Bits that fall off the first byte are lost (i.e. no "cycled" shift). + * @param buf The address of the memory buffer to shift + * @param bufLen The length of the buf memory block in bytes + * @param numBits The number of bits to shift. Must be 0 <= numBits <= 7. + */ + static void shiftLeft(Uint8* buf, + size_t bufLen, + Uint8 numBits); + + /** Dumps a byte as binary number to a string. Only useful for + * debugging purposes. + * @param b The byte to dump + * @return A string containing b as a binary number + */ + static OFString debugByte2Bin(Uint8 b); + + /** Dumps a memory block byte for byte to the debug log stream. Only useful + * for debugging purposes. + * @param buffer The address of the memory block to dump + * @param length The length of memory to be dumped + * @param what String describing what is dumped. + */ + static void debugDumpBin(Uint8* buffer, + size_t length, + const char* what); }; #endif // SEGUTILS_H diff --git a/dcmseg/libsrc/Makefile.dep b/dcmseg/libsrc/Makefile.dep index d6b3dab3..0ce0c2b2 100644 --- a/dcmseg/libsrc/Makefile.dep +++ b/dcmseg/libsrc/Makefile.dep @@ -48,6 +48,8 @@ segdoc.o: segdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatient.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ @@ -115,6 +117,7 @@ segdoc.o: segdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../dcmiod/include/dcmtk/dcmiod/modpatientstudy.h \ @@ -195,6 +198,8 @@ segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -264,6 +269,7 @@ segment.o: segment.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ @@ -340,6 +346,8 @@ segtypes.o: segtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ @@ -408,6 +416,7 @@ segtypes.o: segtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ ../../ofstd/include/dcmtk/ofstd/ofmem.h \ @@ -453,6 +462,8 @@ segutils.o: segutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -524,6 +535,7 @@ segutils.o: segutils.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ diff --git a/dcmseg/libsrc/segdoc.cc b/dcmseg/libsrc/segdoc.cc index 979d8163..89d491dd 100644 --- a/dcmseg/libsrc/segdoc.cc +++ b/dcmseg/libsrc/segdoc.cc @@ -31,8 +31,6 @@ #include "dcmtk/dcmfg/fgfact.h" #include "dcmtk/dcmfg/fgderimg.h" - - // default constructor (protected, instance creation via create() function) DcmSegmentation::DcmSegmentation() : DcmIODImage(), @@ -68,8 +66,11 @@ void DcmSegmentation::initIODRules() getRules()->addRule(new IODRule(DCM_LossyImageCompressionMethod, "1-n", "1C", "GeneralImageModule", DcmIODTypes::IE_IMAGE), OFTrue); getRules()->addRule(new IODRule(DCM_LossyImageCompressionRatio, "1-n","1C", "GeneralImageModule", DcmIODTypes::IE_IMAGE), OFTrue); + // Override rule from General Series Module + getRules()->addRule(new IODRule(DCM_ReferencedPerformedProcedureStepSequence, "1","1C", "SegmentationSeriesModule", DcmIODTypes::IE_SERIES), OFTrue); + getRules()->addRule(new IODRule(DCM_SeriesNumber, "1","1", "SegmentationSeriesModule", DcmIODTypes::IE_SERIES), OFTrue); + // Instance Number is also used within Content Identification Macro, disable it there - // TODO: Change Content Identification Macro and others to shared_ptr approach m_ContentIdentificationMacro.getIODRules().deleteRule(DCM_InstanceNumber); } @@ -143,6 +144,7 @@ OFCondition DcmSegmentation::createFractionalSegmentation(DcmSegmentation*& segm return result; segmentation->m_SegmentationType = DcmSegTypes::ST_FRACTIONAL; + segmentation->m_SegmentationFractionalType = fractType; segmentation->m_MaximumFractionalValue.putUint16(maxFractionalValue); return result; @@ -381,8 +383,7 @@ OFCondition DcmSegmentation::addSegment(DcmSegment* seg, } -OFCondition DcmSegmentation::addFrame(Uint8* pixData, - const Uint16 segmentNumber) +OFCondition DcmSegmentation::addFrame(Uint8* pixData) { OFCondition result; @@ -424,6 +425,12 @@ OFCondition DcmSegmentation::addFrame(Uint8* pixData, } +SOPInstanceReferenceMacro& DcmSegmentation::getReferencedPPS() +{ + return getSeries().getReferencedPPS(); +} + + const DcmIODTypes::Frame* DcmSegmentation::getFrame(const size_t& frameNo) { if (frameNo > m_Frames.size() - 1) @@ -522,7 +529,7 @@ OFCondition DcmSegmentation::addFrame(Uint8* pixData, // Insert pixel data if (result.good()) { - result = addFrame(pixData, segmentNumber); + result = addFrame(pixData); } // Cleanup any per-frame groups that might have been inserted and return @@ -595,14 +602,6 @@ OFCondition DcmSegmentation::saveFile(const OFString& filename, /* -- Setter for DICOM attributes -- */ -OFCondition DcmSegmentation::setReferencedPPS(const OFString& refSOPClassUID, - const OFString& refSOPInstanceUID) -{ - //TODO - return EC_Normal; -} - - OFCondition DcmSegmentation::setEquipmentInfo(const IODGeneralEquipmentModule::EquipmentInfo& equipmentInfo, const OFBool checkValue) { @@ -651,32 +650,30 @@ OFCondition DcmSegmentation::setContentIdentification(const ContentIdentificatio /* -- Getter for DICOM attributes -- */ -void DcmSegmentation::getReferencedPPS(OFString& refSOPClassUID, - OFString& refSOPInstanceUID) const -{ - //TODO -} - - -DcmSegment* DcmSegmentation::getSegment(const size_t& segmentNumber) +DcmSegment* DcmSegmentation::getSegment(const unsigned int segmentNumber) { - if (segmentNumber > m_Segments.size()) + // check for invalid index + if ( (segmentNumber == 0) || (segmentNumber > m_Segments.size()) ) { return NULL; } - return m_Segments[segmentNumber]; + + // logical segment numbering starts with 1, so subtract 1 for vector index + return m_Segments[segmentNumber-1]; } OFBool DcmSegmentation::getSegmentNumber(const DcmSegment* segment, - Uint16& segmentNumber) + unsigned int& segmentNumber) { + segmentNumber = 0; size_t max = m_Segments.size(); for (size_t count = 0; count < max; count++) { if (m_Segments.at(count) == segment) { - segmentNumber = count; + // logical segment numbering starts with 1 but vector index with 0 + segmentNumber = count + 1; return OFTrue; } } @@ -685,31 +682,10 @@ OFBool DcmSegmentation::getSegmentNumber(const DcmSegment* segment, } -const OFVector DcmSegmentation::findSegmentByLabel(const OFString& segmentLabel) -{ - // TODO - OFVector temp; - return temp; -} - -const OFVector DcmSegmentation::findSegmentByCategory(const CodeSequenceMacro& categoryCode) -{ - // TODO - OFVector temp; - return temp; -} - - -const OFVector DcmSegmentation::findSegmentyByType(const CodeSequenceMacro& propertyType) -{ - // TODO - OFVector temp; - return temp; -} - - -OFCondition DcmSegmentation::getModality(OFString& value, const long signed int pos) const +OFCondition DcmSegmentation::getModality(OFString& value, + const long signed int pos) const { + (void)pos; // Fixed for Segmentations to value "SEG" value = "SEG"; return EC_Normal; @@ -762,43 +738,23 @@ OFCondition DcmSegmentation::readFrames(DcmItem& dataset) } /* Read all frames into dedicated data structure */ - size_t bitsPerFrame = getBitsPerFrame(rows, cols); - size_t bytesPerFrame = 0; - Uint8* src = pixels; + size_t pixelsPerFrame = rows * cols; if (m_SegmentationType == DcmSegTypes::ST_BINARY) { - /* FIXME: Padding of last byte must be implemented if byte is not completely filled */ - if ( ((rows*cols) % 8) != 0) - { - DCMSEG_ERROR("TO BE DONE: Cannot write binary segmentations where pixel data bytes are not dividable by 8"); - return EC_IllegalCall; - } - bytesPerFrame = DcmSegUtils::getBytesForBinaryFrame(bitsPerFrame); - for (size_t frameCount = 0; frameCount < numberOfFrames; frameCount++) - { - DcmIODTypes::Frame *frame = new DcmIODTypes::Frame(); - frame->length = bytesPerFrame; - frame->pixData = new Uint8[bytesPerFrame]; - memcpy(frame->pixData, src, bytesPerFrame); - src = src + bytesPerFrame; - m_Frames.push_back(frame); - } + extractFrames(pixels, numberOfFrames, pixelsPerFrame, m_Frames); } else if (m_SegmentationType == DcmSegTypes::ST_FRACTIONAL) { - bytesPerFrame = rows * cols; for (size_t count = 0; count < numberOfFrames; count++) { DcmIODTypes::Frame *frame = new DcmIODTypes::Frame(); - frame->length = bytesPerFrame; - frame->pixData= new Uint8[bytesPerFrame]; - memcpy(frame->pixData, pixels + count*bytesPerFrame, bytesPerFrame); + frame->length = pixelsPerFrame; + frame->pixData= new Uint8[pixelsPerFrame]; + memcpy(frame->pixData, pixels + count* pixelsPerFrame, pixelsPerFrame); m_Frames.push_back(frame); } } - /* remove original pixel data copy from memory */ - pixelData->compact(); return result; } @@ -935,10 +891,9 @@ OFCondition DcmSegmentation::writeMultiFrameDimensionModule(DcmItem& dataset) } -OFCondition DcmSegmentation::writeFrames(DcmItem& dataset) +OFCondition DcmSegmentation::writeFractionalFrames(DcmItem& dataset) { OFCondition result; - // TODO: Consistency checks with attributes Uint16 rows,cols; rows = cols = 0; getImagePixel().getRows(rows); @@ -946,6 +901,7 @@ OFCondition DcmSegmentation::writeFrames(DcmItem& dataset) size_t numBytes = getTotalBytesRequired(rows, cols, m_Frames.size()); Uint8* pixdata = new Uint8[numBytes]; OFVector::iterator it = m_Frames.begin(); + // Just copy bytes for each frame as is for (size_t count = 0; it != m_Frames.end(); count++) { memcpy(pixdata + count*(*it)->length, (*it)->pixData, (*it)->length); @@ -957,6 +913,28 @@ OFCondition DcmSegmentation::writeFrames(DcmItem& dataset) } +OFCondition DcmSegmentation::writeBinaryFrames(DcmItem& dataset) +{ + OFCondition result; + Uint16 rows,cols; + rows = cols = 0; + getImagePixel().getRows(rows); + getImagePixel().getColumns(cols); + size_t numBytes = getTotalBytesRequired(rows, cols, m_Frames.size()); + // Holds the pixels for all frames. Each bit represents a pixel which is either + // 1 (part of segment) or 0 (not part of segment. All frames are directly + // concatenated, i.e. there are no unused bits between the frames. + Uint8* pixdata = new Uint8[numBytes]; + memset(pixdata, 0, numBytes); + + // Fill Pixel Data Element + concatFrames(m_Frames, pixdata, rows*cols); + result = dataset.putAndInsertUint8Array(DCM_PixelData, pixdata, numBytes, OFTrue); + delete [] pixdata; + return result; +} + + OFCondition DcmSegmentation::writeSegmentationImageModule(DcmItem& dataset) { dataset.putAndInsertOFStringArray(DCM_ImageType, "DERIVED\\PRIMARY"); @@ -1038,7 +1016,12 @@ OFCondition DcmSegmentation::writeSegmentationImageModule(DcmItem& dataset) } /* Write frame pixel data */ - if (result.good()) result = writeFrames(dataset); + if (result.good()) + { + if (m_SegmentationType == DcmSegTypes::ST_BINARY) result = writeBinaryFrames(dataset); + else if (m_SegmentationType == DcmSegTypes::ST_BINARY) result = writeFractionalFrames(dataset); + else result = SG_EC_UnknownSegmentationType; + } return result; } @@ -1068,7 +1051,8 @@ OFBool DcmSegmentation::checkPixDataLength(DcmElement* pixelData, // Find out how many bytes are needed size_t bytesRequired = getTotalBytesRequired(rows, cols, numberOfFrames); - + // Length found in Pixel Data element is always even + if (bytesRequired % 2 == 1) bytesRequired++; /* Compare expected and actual length */ if (length < bytesRequired) { @@ -1108,14 +1092,19 @@ size_t DcmSegmentation::getTotalBytesRequired(const Uint16& rows, { size_t bytesRequired = rows * cols * numberOfFrames; /* for binary, we only need one bit per pixel */ + size_t remainder = 0; if (m_SegmentationType == DcmSegTypes::ST_BINARY) { // check whether the 1-bit pixels exactly fit into bytes - size_t remainder = bytesRequired % 8; + remainder = (rows * cols) % 8; // number of bytes that work on an exact fit bytesRequired = bytesRequired / 8; // add one byte if we have a remainder - if (remainder > 0) bytesRequired++; + if (remainder > 0) + { + bytesRequired++; + } + } return bytesRequired; } @@ -1264,3 +1253,108 @@ OFCondition DcmSegmentation::decompress(DcmDataset& dset) } return result; } + + +void DcmSegmentation::extractFrames(Uint8* pixData, + const size_t numFrames, + const size_t bitsPerFrame, + OFVector< DcmIODTypes::Frame* >& results) +{ + // Will hold the bit position (0-7) that the current frame starts from. The + // first frame will always start at bit 0. + Uint8 bitShift = 0; + // Compute length in bytes we need to consider for each frame. + size_t frameLengthBytes = bitsPerFrame / 8; + // If the number of bits is not dividable by 8, we need part of an extra + // byte in the end. Since we like to set the unused bits to 0 in such a last + // byte to 0, remember the number. + size_t overlapBits = (8 - (bitsPerFrame % 8)) % 8; + // Add an extra byte if we we fill a partial byte in the end + if (overlapBits != 0) frameLengthBytes++; + // Points to current reading position within pixeldata + Uint8* readPos = pixData; + // Loop over each frame and copy it to Frame structures + for (size_t f = 0; f < numFrames; f++) + { + // Create frame with correct length and copy 1:1 from pixel data + DcmIODTypes::Frame* frame = new DcmIODTypes::Frame(); + frame->length = frameLengthBytes; + frame->pixData = new Uint8[frameLengthBytes]; + memcpy(frame->pixData, readPos, frame->length); + // If we have been copying too much, i.e the first bits of the frame + // actually belong to the former frame, shift the whole frame this amount + // of bits to the left in order to shift the superfluous bits out + if (bitShift > 0) + { + DcmSegUtils::shiftLeft(frame->pixData, frame->length, 8-bitShift); + } + // Adapt last byte by masking out unused bits (i.e. those belonging to next frame). + // A reader should ignore those unused bits anyway. + frame->pixData[frame->length-1] = (frame->pixData[frame->length-1] >> (overlapBits)) << (overlapBits); + // Store frame + results.push_back(frame); + // Compute the bitshift created by this frame + bitShift = ( 8- ((f+1) * bitsPerFrame) % 8 ) % 8; + // If the last byte read has not been used completely, i.e. it contains + // also bytes of the next frame, rewind read position to the last byte + // that was partially read. Otherwise skip to the next full byte. + if (bitShift > 0) + { + readPos = readPos + frame->length - 1; + } + else + { + readPos = readPos + frame->length; + } + } +} + + +void DcmSegmentation::concatFrames(OFVector< DcmIODTypes::Frame* > frames, + Uint8* pixData, + const size_t bitsPerFrame) +{ + // Writing position within the pixData memory + Uint8 *writePos = pixData; + OFVector::iterator frame = frames.begin(); + Uint8 freeBits = 0; + Uint8 firstByte = 0; + // Iterate over frames and copy each to pixdata memory + for (size_t f = 0; frame != frames.end(); f++) + { + DCMSEG_DEBUG("Packing segmentation frame #" << f+1 << "/" << frames.size()); + // Backup first byte of the destination since it may contain bits of the + // last frame; mask out those bits not belonging to last frame. + firstByte = (writePos[0] >> freeBits) << freeBits; + memcpy(writePos, (*frame)->pixData, (*frame)->length); + // If the last frame left over some unused bits, shift the current frame + // that number of bits to the right and restore the original bits of the + // last frame + if (freeBits > 0) + { + DcmSegUtils::shiftRight(writePos, (*frame)->length, 8-freeBits); + writePos[0] |= firstByte; + } + // Compute free bits left over from this frame in the last byte written + freeBits = (8 - (( (f+1) * bitsPerFrame ) % 8)) % 8; + // If we have free bits, the last byte written to will be the first byte + // we write to for the next frame. Otherwise start with a fresh destination + // byte. + if (freeBits > 0) + { + writePos = writePos + (*frame)->length - 1; + } + else + { + writePos = writePos + (*frame)->length; + } + // Next frame + frame++; + } + // Through shifting we can have non-zero bits within the unused bits of the + // last byte. Fill them with zeroes (though not required by the standard). + if (freeBits > 0) + { + *writePos = (*writePos >> freeBits) << freeBits; + } +} diff --git a/dcmseg/libsrc/segment.cc b/dcmseg/libsrc/segment.cc index 88b14e54..df1ef2d3 100644 --- a/dcmseg/libsrc/segment.cc +++ b/dcmseg/libsrc/segment.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -86,6 +86,8 @@ OFCondition DcmSegment::read(DcmItem& item, DcmIODUtil::getAndCheckElementFromDataset(item, m_RecommendedDisplayGrayscaleValue, m_Rules.getByTag(DCM_RecommendedDisplayGrayscaleValue)); DcmIODUtil::getAndCheckElementFromDataset(item, m_RecommendedDisplayCIELabValue, m_Rules.getByTag(DCM_RecommendedDisplayCIELabValue)); + DcmIODUtil::getAndCheckElementFromDataset(item, m_TrackingID, m_Rules.getByTag(DCM_TrackingID)); + DcmIODUtil::getAndCheckElementFromDataset(item, m_TrackingUID, m_Rules.getByTag(DCM_TrackingUID)); return EC_Normal; } @@ -110,6 +112,8 @@ OFCondition DcmSegment::write(DcmItem& item) DcmIODUtil::copyElementToDataset(result, item, m_RecommendedDisplayGrayscaleValue, m_Rules.getByTag(DCM_RecommendedDisplayGrayscaleValue)); DcmIODUtil::copyElementToDataset(result, item, m_RecommendedDisplayCIELabValue, m_Rules.getByTag(DCM_RecommendedDisplayCIELabValue)); + DcmIODUtil::copyElementToDataset(result, item, m_TrackingID, m_Rules.getByTag(DCM_TrackingID)); + DcmIODUtil::copyElementToDataset(result, item, m_TrackingUID, m_Rules.getByTag(DCM_TrackingUID)); return result; } @@ -123,6 +127,8 @@ void DcmSegment::clearData() m_SegmentSurfaceGenerationAlgorithmIdentification.clearData(); m_RecommendedDisplayGrayscaleValue.clear(); m_RecommendedDisplayCIELabValue.clear(); + m_TrackingID.clear(); + m_TrackingUID.clear(); } @@ -133,7 +139,7 @@ DcmSegment::~DcmSegment() } -// protected default contstrucotr +// protected default constructor DcmSegment::DcmSegment() : m_SegmentationDoc(NULL), m_SegmentDescription(), @@ -141,6 +147,8 @@ DcmSegment::DcmSegment() : m_SegmentSurfaceGenerationAlgorithmIdentification(), m_RecommendedDisplayGrayscaleValue(DCM_RecommendedDisplayGrayscaleValue), m_RecommendedDisplayCIELabValue(DCM_RecommendedDisplayCIELabValue), + m_TrackingID(DCM_TrackingID), + m_TrackingUID(DCM_TrackingUID), m_Rules() { initIODRules(); @@ -152,14 +160,16 @@ void DcmSegment::initIODRules() m_Rules.addRule(new IODRule(DCM_SegmentAlgorithmName, "1","1C","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue); m_Rules.addRule(new IODRule(DCM_RecommendedDisplayGrayscaleValue, "1","3","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue); m_Rules.addRule(new IODRule(DCM_RecommendedDisplayCIELabValue, "3","3","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue); + m_Rules.addRule(new IODRule(DCM_TrackingID, "1","1C","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue); + m_Rules.addRule(new IODRule(DCM_TrackingUID, "1","1C","SegmentationImageModule", DcmIODTypes::IE_IMAGE), OFTrue); } // -------------- getters -------------------- -Uint16 DcmSegment::getSegmentNumber() +unsigned int DcmSegment::getSegmentNumber() { - Uint16 value = 0; + unsigned int value = 0; if (m_SegmentationDoc != NULL) { m_SegmentationDoc->getSegmentNumber(this, value); @@ -222,7 +232,7 @@ OFVector< CodeSequenceMacro* >& DcmSegment::getSegmentedPropertyTypeModifierCode OFCondition DcmSegment::getRecommendedDisplayGrayscaleValue(Uint16& value, const unsigned long pos) { - return m_RecommendedDisplayGrayscaleValue.getUint16(value, 0); + return m_RecommendedDisplayGrayscaleValue.getUint16(value, pos); } @@ -240,6 +250,21 @@ OFCondition DcmSegment::getRecommendedDisplayCIELabValue(Uint16& L, return result; } + +OFCondition DcmSegment::getTrackingID(OFString& value, + const signed long pos) +{ + return DcmIODUtil::getStringValueFromElement(m_TrackingID, value, pos); +} + + +OFCondition DcmSegment::getTrackingUID(OFString& value, + const signed long pos) +{ + return DcmIODUtil::getStringValueFromElement(m_TrackingUID, value, pos); +} + + // -------------- setters -------------------- @@ -334,6 +359,30 @@ OFCondition DcmSegment::setRecommendedDisplayCIELabValue(const Uint16 r, } +OFCondition DcmSegment::setTrackingID(const OFString& value, + const OFBool checkValue) +{ + // avoid compile warning on unused variable + (void)checkValue; + return m_TrackingID.putOFStringArray(value); +} + + +OFCondition DcmSegment::setTrackingUID(const OFString& value, + const OFBool checkValue) +{ + OFCondition result; + if (checkValue) + { + result = DcmUniqueIdentifier::checkStringValue(value, "1"); + } + if (result.good()) + { + result = m_TrackingUID.putOFStringArray(value); + } + return result; +} + void DcmSegment::referenceSegmentationDoc(DcmSegmentation* doc) { diff --git a/dcmseg/libsrc/segtypes.cc b/dcmseg/libsrc/segtypes.cc index 3b5b952f..58b10ef2 100644 --- a/dcmseg/libsrc/segtypes.cc +++ b/dcmseg/libsrc/segtypes.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, Open Connections GmbH + * Copyright (C) 2016, Open Connections GmbH * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -32,9 +32,12 @@ OFLogger DCM_dcmsegLogger = OFLog::getLogger("dcmtk.dcmseg"); *---------------------------------*/ // conditions -makeOFConditionConst(SG_EC_MaxSegmentsReached, OFM_dcmseg, 1, OF_error, "Maximum Number of Functional Groups reached"); -makeOFConditionConst(SG_EC_NoSuchSegment, OFM_dcmseg, 2, OF_error, "No such segment"); -makeOFConditionConst(SG_EC_InvalidValue, OFM_dcmseg, 4, OF_error, "Invalid value for Segmentation SOP Class"); +makeOFConditionConst(SG_EC_MaxSegmentsReached, OFM_dcmseg, 1, OF_error, "Maximum Number of Functional Groups reached"); +makeOFConditionConst(SG_EC_NoSuchSegment, OFM_dcmseg, 2, OF_error, "No such segment"); +makeOFConditionConst(SG_EC_UnknownSegmentationType, OFM_dcmseg, 3, OF_error, "Unknown Segmentation Type"); +makeOFConditionConst(SG_EC_InvalidValue, OFM_dcmseg, 4, OF_error, "Invalid value for Segmentation SOP Class"); +makeOFConditionConst(SG_EC_NotEnoughData, OFM_dcmseg, 5, OF_error, "Not enough data"); + DcmSegTypes::E_SegmentationType DcmSegTypes::OFString2Segtype(const OFString& value) { @@ -204,10 +207,8 @@ OFCondition SegmentDescriptionMacro::setSegmentLabel(const OFString& value, OFCondition SegmentDescriptionMacro::setSegmentDescription(const OFString& value, const OFBool checkValue) { - OFCondition result = (checkValue) ? DcmShortText::checkStringValue(value, "1") : EC_Normal; - if (result.good()) - result = m_SegmentDescription.putOFStringArray(value); - return result; + (void)checkValue; + return m_SegmentDescription.putOFStringArray(value); } diff --git a/dcmseg/libsrc/segutils.cc b/dcmseg/libsrc/segutils.cc index c74b9102..918778e7 100644 --- a/dcmseg/libsrc/segutils.cc +++ b/dcmseg/libsrc/segutils.cc @@ -53,7 +53,7 @@ DcmIODTypes::Frame* DcmSegUtils::packBinaryFrame(Uint8* pixelData, delete frame; return NULL; } - memset(frame->pixData, 0, sizeof(Uint8)*frame->length); + memset(frame->pixData, 0, frame->length); size_t bytePos = 0; for (size_t count = 0; count < numPixels; count++) @@ -67,39 +67,34 @@ DcmIODTypes::Frame* DcmSegUtils::packBinaryFrame(Uint8* pixelData, DcmIODTypes::Frame* DcmSegUtils::unpackBinaryFrame(const DcmIODTypes::Frame* frame, - const Uint16 rows, - const Uint16 cols) + Uint16 rows, + Uint16 cols) { // Sanity checking - if ( (frame->length == 0) || (frame->pixData == NULL) || (rows == 0) || (cols == 0)) + if ( (frame == NULL) || (rows == 0) || (cols == 0) ) { - DCMSEG_ERROR("Cannot unpack binary frame, invalid input data: frame length and data, as well as rows and columnst cannot be 0"); - return NULL; - } - const Uint32 numPixels = rows*cols; - if ( getBytesForBinaryFrame(numPixels) > frame->length) - { - DCMSEG_ERROR("Cannot unpack binary frame, not enough input data (require " << numPixels / 8 << " but only got " << frame->length << " bytes)"); + DCMSEG_ERROR("Cannot unpack binary frame, invalid input data"); return NULL; } // Create result frame in memory + size_t numBits = rows * cols; DcmIODTypes::Frame* result = new DcmIODTypes::Frame(); if (result) { - result->pixData = new Uint8[numPixels]; - result->length = numPixels; + result->pixData = new Uint8[numBits]; + result->length = numBits; } if ( !result || !(result->pixData) ) { DCMSEG_ERROR("Cannot unpack binary frame, memory exhausted"); return NULL; } - memset(result->pixData, 0, sizeof(Uint8)*result->length); + memset(result->pixData, 0, result->length); // Transform and copy from packed frame to unpacked result frame size_t bytePos = 0; - for (size_t count = 0; count < numPixels; count++) + for (size_t count = 0; count < numBits; count++) { // Compute byte position bytePos = count / 8; @@ -128,3 +123,74 @@ size_t DcmSegUtils::getBytesForBinaryFrame(const size_t& numPixels) if (remainder > 0) bytesRequired++; return bytesRequired; } + + +void DcmSegUtils::shiftRight(Uint8* buf, + size_t bufLen, + Uint8 numBits) +{ + if (numBits > 7) + { + DCMSEG_ERROR("Invalid input data: shiftRight() can only shift 0-7 bits"); + return; + } + Uint8 carryOver = 0; + for (size_t x = 0; x < bufLen; x++) + { + // Store current byte since we need its last bits + Uint8 current = buf[x]; + buf[x] >>= numBits; + // If there is a carry over from the last handled byte, add it + buf[x] |= carryOver; + // Compute carry over bits for next byte handled + carryOver = current << (8-numBits); // bits we need to shift over to start (left hand side) of buf[x+1] + } +} + + +void DcmSegUtils::shiftLeft(Uint8* buf, + size_t bufLen, + Uint8 numBits) +{ + if (numBits > 7) + { + DCMSEG_ERROR("Invalid input data: shiftLeft() can only shift 0-7 bits"); + return; + } + for (size_t x = 0; x < bufLen-1; x++) + { + // Shift current byte + buf[x] = buf[x] << numBits; + // isolate portion of next byte that must be shifted into current byte + Uint8 next = (buf[x+1] >> (8-numBits)); + // Shift current byte + buf[x] |= next; + } + // Shift last byte manually + buf[bufLen-1] <<= numBits; +} + + +void DcmSegUtils::debugDumpBin(Uint8* buffer, + size_t length, + const char* what) +{ + for (size_t n=0; n= 0; i--) + { + result[i]= (b & 1) + '0'; + + b >>= 1; + } + return result; +} diff --git a/dcmseg/tests/CMakeLists.txt b/dcmseg/tests/CMakeLists.txt new file mode 100644 index 00000000..75e108df --- /dev/null +++ b/dcmseg/tests/CMakeLists.txt @@ -0,0 +1,8 @@ +# declare executables +DCMTK_ADD_EXECUTABLE(dcmseg_tests tests tutils) + +# make sure executables are linked to the corresponding libraries +DCMTK_TARGET_LINK_MODULES(dcmseg_tests dcmseg dcmfg dcmiod dcmdata oflog ofstd) + +# This macro parses tests.cc and registers all tests +DCMTK_ADD_TESTS(dcmseg) diff --git a/dcmseg/tests/Makefile.dep b/dcmseg/tests/Makefile.dep new file mode 100644 index 00000000..d3504b4a --- /dev/null +++ b/dcmseg/tests/Makefile.dep @@ -0,0 +1,166 @@ +tests.o: tests.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h +tutils.o: tutils.cc ../../config/include/dcmtk/config/osconfig.h \ + ../../ofstd/include/dcmtk/ofstd/oftest.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../include/dcmtk/dcmseg/segutils.h ../include/dcmtk/dcmseg/segdef.h \ + ../include/dcmtk/dcmseg/segtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodmacro.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodrules.h \ + ../../dcmiod/include/dcmtk/dcmiod/iodtypes.h \ + ../../dcmiod/include/dcmtk/dcmiod/ioddef.h \ + ../../dcmiod/include/dcmtk/dcmiod/modbase.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h diff --git a/dcmseg/tests/Makefile.in b/dcmseg/tests/Makefile.in index 6647f17a..515c4dbc 100644 --- a/dcmseg/tests/Makefile.in +++ b/dcmseg/tests/Makefile.in @@ -5,25 +5,56 @@ @SET_MAKE@ SHELL = /bin/sh +VPATH = @srcdir@:@top_srcdir@/include:@top_srcdir@/@configdir@/include srcdir = @srcdir@ top_srcdir = @top_srcdir@ configdir = @top_srcdir@/@configdir@ +ofstddir = $(top_srcdir)/../ofstd +oflogdir = $(top_srcdir)/../oflog +dcmdatadir = $(top_srcdir)/../dcmdata +dcmioddir = $(top_srcdir)/../dcmiod +dcmfgdir = $(top_srcdir)/../dcmfg + + include $(configdir)/@common_makefile@ +LIBDIRS = -L$(top_srcdir)/libsrc -L$(ofstddir)/libsrc -L$(oflogdir)/libsrc \ + -L$(dcmdatadir)/libsrc -L$(dcmioddir)/libsrc -L$(dcmfgdir)/libsrc +LOCALLIBS = -ldcmseg -ldcmfg -ldcmiod -ldcmdata -loflog -lofstd $(ZLIBLIBS) $(ICONVLIBS) +LOCALINCLUDES = -I$(top_srcdir)/include -I$(ofstddir)/include -I$(oflogdir)/include \ + -I$(dcmdatadir)/include -I$(dcmioddir)/include -I$(dcmfgdir)/include \ + + +test_objs = tests.o tutils.o +objs = $(test_objs) +progs = tests + + +all: $(progs) -all: +tests: $(test_objs) + $(CXX) $(CXXFLAGS) $(LIBDIRS) $(LDFLAGS) -o $@ $(test_objs) $(LOCALLIBS) $(ICONVLIBS) $(LIBS) -check: -check-exhaustive: +check: tests + ./tests + +check-exhaustive: tests + ./tests -x + + +install: all -install: clean: - rm -f $(TRASH) + rm -f $(objs) $(progs) $(LOCALTRASH) $(TRASH) distclean: - rm -f $(DISTTRASH) + rm -f $(objs) $(progs) $(LOCALTRASH) $(DISTTRASH) + dependencies: + $(CXX) -MM $(defines) $(includes) $(CPPFLAGS) $(CXXFLAGS) *.cc > $(DEP) + +include $(DEP) diff --git a/dcmseg/tests/tests.cc b/dcmseg/tests/tests.cc new file mode 100644 index 00000000..6e7b4626 --- /dev/null +++ b/dcmseg/tests/tests.cc @@ -0,0 +1,26 @@ +/* + * + * Copyright (C) 2015, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmseg + * + * Author: Michael Onken + * + * Purpose: main test program + * + */ + +#include "dcmtk/config/osconfig.h" +#include "dcmtk/ofstd/oftest.h" + +OFTEST_REGISTER(dcmseg_utils); +OFTEST_MAIN("dcmseg") diff --git a/dcmseg/tests/tutils.cc b/dcmseg/tests/tutils.cc new file mode 100644 index 00000000..59b8b499 --- /dev/null +++ b/dcmseg/tests/tutils.cc @@ -0,0 +1,65 @@ +/* + * + * Copyright (C) 2015, OFFIS e.V. + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation were developed by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmseg + * + * Author: Michael Onken + * + * Purpose: tests for dcmseg's DcmSegUtils functionalities + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/ofstd/oftest.h" +#include "dcmtk/dcmseg/segutils.h" + +OFTEST(dcmseg_utils) +{ + // buf = 10101010 11001100 11110000 00001111 + Uint8 buf[4]; + buf[0] = 0xAA; // 10101010 + buf[1] = 0xCC; // 11001100 + buf[2] = 0xF0; // 11110000 + buf[3] = 0x0F; // 00001111 + + // Shift and check, should be 00101010 10110011 00111000 00000011 + DcmSegUtils::shiftRight(buf, 4, 2); + OFCHECK(buf[0] == 0x2A); // 00101010 = 42 = 0x2A + OFCHECK(buf[1] == 0xB3); // 10110011 = 179 = 0xB3 + OFCHECK(buf[2] == 0x3C); // 00111100 = 60 = 0x3C + OFCHECK(buf[3] == 0x03); // 00000011 = 0 = 0x03 + + // Shift and check, should be 10101010 11001100 11110000 00001100 + DcmSegUtils::shiftLeft(buf, 4, 2); + OFCHECK(buf[0] == 0xAA); // 10101010 + OFCHECK(buf[1] == 0xCC); // 11001100 + OFCHECK(buf[2] == 0xF0); // 11110000 + OFCHECK(buf[3] == 0x0C); // 00001100 + + // Shift and check, should be 00000001 01010101 10011001 11100000 + DcmSegUtils::shiftRight(buf, 4, 7); + OFCHECK(buf[0] == 0x01); // 00000001 + OFCHECK(buf[1] == 0x55); // 01010101 + OFCHECK(buf[2] == 0x99); // 10011001 + OFCHECK(buf[3] == 0xE0); // 11100000 + + // Shift and check, should be 10101010 11001100 11110000 00000000 + DcmSegUtils::shiftLeft(buf, 4, 7); + OFCHECK(buf[0] == 0xAA); // 10101010 + OFCHECK(buf[1] == 0xCC); // 11001100 + OFCHECK(buf[2] == 0xF0); // 11110000 + OFCHECK(buf[3] == 0x00); // 00000000 + +} diff --git a/dcmsign/apps/Makefile.dep b/dcmsign/apps/Makefile.dep index c82aa801..c14b759a 100644 --- a/dcmsign/apps/Makefile.dep +++ b/dcmsign/apps/Makefile.dep @@ -39,6 +39,8 @@ dcmsign.o: dcmsign.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ ../include/dcmtk/dcmsign/dcsignat.h ../include/dcmtk/dcmsign/sitypes.h \ ../include/dcmtk/dcmsign/sidefine.h \ @@ -115,4 +117,5 @@ dcmsign.o: dcmsign.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ - ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h diff --git a/dcmsign/libsrc/Makefile.dep b/dcmsign/libsrc/Makefile.dep index 114d3c26..84d73a77 100644 --- a/dcmsign/libsrc/Makefile.dep +++ b/dcmsign/libsrc/Makefile.dep @@ -41,6 +41,8 @@ dcsignat.o: dcsignat.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -117,6 +119,8 @@ siautopr.o: siautopr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -166,6 +170,8 @@ sibrsapr.o: sibrsapr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -190,6 +196,8 @@ sicert.o: sicert.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -286,6 +294,8 @@ sicreapr.o: sicreapr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -349,6 +359,8 @@ simaccon.o: simaccon.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ @@ -425,6 +437,8 @@ sinullpr.o: sinullpr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h @@ -525,6 +539,8 @@ sisprof.o: sisprof.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ diff --git a/dcmsr/apps/Makefile.dep b/dcmsr/apps/Makefile.dep index 35c1a962..39a91bad 100644 --- a/dcmsr/apps/Makefile.dep +++ b/dcmsr/apps/Makefile.dep @@ -42,6 +42,8 @@ dsr2html.o: dsr2html.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -110,11 +112,12 @@ dsr2html.o: dsr2html.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -124,7 +127,8 @@ dsr2html.o: dsr2html.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \ ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \ ../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h @@ -172,6 +176,8 @@ dsr2xml.o: dsr2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -240,11 +246,12 @@ dsr2xml.o: dsr2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -254,7 +261,8 @@ dsr2xml.o: dsr2xml.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \ ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \ ../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h @@ -302,6 +310,8 @@ dsrdump.o: dsrdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -370,11 +380,12 @@ dsrdump.o: dsrdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -384,7 +395,8 @@ dsrdump.o: dsrdump.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \ ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \ ../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \ ../../ofstd/include/dcmtk/ofstd/ofchrenc.h @@ -432,6 +444,8 @@ xml2dsr.o: xml2dsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -500,11 +514,12 @@ xml2dsr.o: xml2dsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -514,7 +529,8 @@ xml2dsr.o: xml2dsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \ ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \ ../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \ ../../dcmdata/include/dcmtk/dcmdata/dcostrmz.h diff --git a/dcmsr/apps/dsr2html.cc b/dcmsr/apps/dsr2html.cc index c0e90616..89250a02 100644 --- a/dcmsr/apps/dsr2html.cc +++ b/dcmsr/apps/dsr2html.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2014, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -102,6 +102,9 @@ static OFCondition renderFile(STD_NAMESPACE ostream &out, OFLOG_FATAL(dsr2htmlLogger, result.text() << ": converting file to UTF-8: " << ifname); } } +#else + // avoid compiler warning on unused variable + (void)convertToUTF8; #endif if (result.good()) { @@ -127,33 +130,19 @@ static OFCondition renderFile(STD_NAMESPACE ostream &out, OFLOG_DEBUG(dsr2htmlLogger, "use option --charset-assume to manually specify an appropriate character set"); result = EC_IllegalCall; } else { - OFString charsetStr(defaultCharset); // use the default character set specified by the user - if (charsetStr == "ISO_IR 192") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_UTF8); - else if (charsetStr == "ISO_IR 100") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin1); - else if (charsetStr == "ISO_IR 101") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin2); - else if (charsetStr == "ISO_IR 109") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin3); - else if (charsetStr == "ISO_IR 110") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin4); - else if (charsetStr == "ISO_IR 148") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin5); - else if (charsetStr == "ISO_IR 144") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Cyrillic); - else if (charsetStr == "ISO_IR 127") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Arabic); - else if (charsetStr == "ISO_IR 126") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Greek); - else if (charsetStr == "ISO_IR 138") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Hebrew); - else { + result = dsrdoc->setSpecificCharacterSet(defaultCharset); + if (dsrdoc->getSpecificCharacterSetType() == DSRTypes::CS_unknown) + { OFLOG_FATAL(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": Character set '" << defaultCharset << "' specified with option --charset-assume not supported"); result = EC_IllegalCall; } + else if (result.bad()) + { + OFLOG_FATAL(dsr2htmlLogger, OFFIS_CONSOLE_APPLICATION << ": Cannot use character set '" + << defaultCharset << "' specified with option --charset-assume: " << result.text()); + } } } if (result.good()) @@ -225,7 +214,7 @@ int main(int argc, char *argv[]) cmd.addOption("--charset-require", "+Cr", "require declaration of ext. charset (default)"); cmd.addOption("--charset-assume", "+Ca", 1, "[c]harset: string", "assume charset c if no extended charset declared"); - cmd.addOption("--charset-check-all", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST and UT)"); + cmd.addOption("--charset-check-all", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST, UC and UT)"); #ifdef WITH_LIBICONV cmd.addOption("--convert-to-utf8", "+U8", "convert all element values that are affected\nby Specific Character Set (0008,0005) to UTF-8"); #endif diff --git a/dcmsr/apps/dsr2xml.cc b/dcmsr/apps/dsr2xml.cc index a0006b84..71e8e22a 100644 --- a/dcmsr/apps/dsr2xml.cc +++ b/dcmsr/apps/dsr2xml.cc @@ -78,33 +78,19 @@ static OFCondition writeFile(STD_NAMESPACE ostream &out, OFLOG_DEBUG(dsr2xmlLogger, "use option --charset-assume to manually specify an appropriate character set"); result = EC_IllegalCall; } else { - OFString charsetStr(defaultCharset); // use the default character set specified by the user - if (charsetStr == "ISO_IR 192") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_UTF8); - else if (charsetStr == "ISO_IR 100") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin1); - else if (charsetStr == "ISO_IR 101") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin2); - else if (charsetStr == "ISO_IR 109") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin3); - else if (charsetStr == "ISO_IR 110") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin4); - else if (charsetStr == "ISO_IR 148") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Latin5); - else if (charsetStr == "ISO_IR 144") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Cyrillic); - else if (charsetStr == "ISO_IR 127") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Arabic); - else if (charsetStr == "ISO_IR 126") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Greek); - else if (charsetStr == "ISO_IR 138") - dsrdoc->setSpecificCharacterSetType(DSRTypes::CS_Hebrew); - else { + result = dsrdoc->setSpecificCharacterSet(defaultCharset); + if (dsrdoc->getSpecificCharacterSetType() == DSRTypes::CS_unknown) + { OFLOG_FATAL(dsr2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": Character set '" << defaultCharset << "' specified with option --charset-assume not supported"); result = EC_IllegalCall; } + else if (result.bad()) + { + OFLOG_FATAL(dsr2xmlLogger, OFFIS_CONSOLE_APPLICATION << ": Cannot use character set '" + << defaultCharset << "' specified with option --charset-assume: " << result.text()); + } } } if (result.good()) @@ -174,7 +160,7 @@ int main(int argc, char *argv[]) cmd.addOption("--charset-require", "+Cr", "require declaration of ext. charset (default)"); cmd.addOption("--charset-assume", "+Ca", 1, "[c]harset: string", "assume charset c if no extended charset declared"); - cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST and UT)"); + cmd.addOption("--charset-check-all", "+Cc", "check all data elements with string values\n(default: only PN, LO, LT, SH, ST, UC and UT)"); #ifdef WITH_LIBICONV cmd.addOption("--convert-to-utf8", "+U8", "convert all element values that are affected\nby Specific Character Set (0008,0005) to UTF-8"); #endif @@ -315,6 +301,8 @@ int main(int argc, char *argv[]) app.checkConflict("--add-schema-reference", "--template-envelope", (opt_writeFlags & DSRTypes::XF_templateElementEnclosesItems) > 0); app.checkConflict("--add-schema-reference", "--write-empty-tags", (opt_writeFlags & DSRTypes::XF_writeEmptyTags) > 0); } + if (opt_writeFlags & DSRTypes::XF_templateIdentifierAsAttribute) + app.checkDependence("--attr-template-id", "--write-template-id", (opt_writeFlags & DSRTypes::XF_writeTemplateIdentification) > 0); if (opt_writeFlags & DSRTypes::XF_templateElementEnclosesItems) app.checkDependence("--template-envelope", "--write-template-id", (opt_writeFlags & DSRTypes::XF_writeTemplateIdentification) > 0); } diff --git a/dcmsr/apps/dsrdump.cc b/dcmsr/apps/dsrdump.cc index 357b83f0..0188cc7a 100644 --- a/dcmsr/apps/dsrdump.cc +++ b/dcmsr/apps/dsrdump.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -95,6 +95,9 @@ static OFCondition dumpFile(STD_NAMESPACE ostream &out, } } } +#else + // avoid compiler warning on unused variable + (void)convertToUTF8; #endif if (result.good()) { diff --git a/dcmsr/docs/dcmsr.dox b/dcmsr/docs/dcmsr.dox index 46298483..aee60792 100644 --- a/dcmsr/docs/dcmsr.dox +++ b/dcmsr/docs/dcmsr.dox @@ -1,10 +1,10 @@ /*! -\page mod_dcmsr dcmsr: a structured report library and utility apps +\page mod_dcmsr dcmsr: a structured reporting library and utility apps This module contains classes to read, write, create, modify, access, print and -render DICOM Structured Reporting documents (formerly Supplement 23). The list -of supported SOP classes is provided in DSRTypes::E_DocumentType. +render DICOM Structured Reporting (SR) documents. The list of supported SOP +classes is provided in DSRTypes::E_DocumentType. The main interface classes are: \li \b DSRDocument @@ -20,6 +20,13 @@ Here are some further classes that are useful when implementing SR templates: \li \b DSRRootTemplate \li \b DSRSubTemplate +Currently, the following SR templates are implemented (see notes for details): +\li \b TID1001_ObservationContext +\li \b TID1204_LanguageOfContentItemAndDescendants +\li \b TID1411_VolumetricROIMeasurements +\li \b TID1500_MeasurementReport +\li \b TID1600_ImageLibrary + \section Tools This module contains the following command line tools: @@ -52,7 +59,8 @@ if (status.good()) \endcode The following example shows how to create a DICOM Structured Report and save -it to a file (see \ref src_mkreport "mkreport" source file for details): +it to a file (further details can be found in the \ref src_mkreport "mkreport" +source file): \code DSRDocument document; @@ -60,7 +68,7 @@ document.setPatientName("Doe^John"); /* ... */ document.getTree().addContentItem(DSRTypes::RT_isRoot, DSRTypes::VT_Container); document.getTree().getCurrentContentItem().setConceptName(DSRCodedEntryValue(/* some code */)); -document.getTree().addContentItem(DSRTypes::RT_hasObsContext, DSRTypes::VT_Code, DSRTypes::AM_belowCurrent); +document.getTree().addChildContentItem(DSRTypes::RT_hasObsContext, DSRTypes::VT_Code, CODE_DCM_ObserverType); /* ... */ DcmFileFormat fileformat; OFCondition status = document.write(*fileformat.getDataset()) @@ -77,7 +85,7 @@ Alternatively, many properties of the document tree can be accessed and modified directly as the following example shows: \code -DSRDocument document(DSRTypes::DT_KeyObjectDoc); +DSRDocument document(DSRTypes::DT_KeyObjectSelectionDocument); /* ... */ document.getTree().addContentItem(DSRTypes::RT_isRoot, DSRTypes::VT_Container); DSRCodedEntryValue *codePtr = document.getTree().getCurrentContentItem().getConceptNamePtr(); @@ -96,6 +104,31 @@ if (imagePtr != NULL) /* ... */ \endcode +In addition, there are specific DSRDocumentTree::addContentItem() and +DSRDocumentTree::addChildContentItem() methods that expect a pointer to a newly +created DSRDocumentTreeNode instance. + +The final example shows how to deal with SR templates, e.g. when creating a +DICOM Structured Report that is based on TID 1500 (Measurement Report): + +\code +TID1500_MeasurementReport report(CMR_CID7021::ImagingMeasurementReport); +report.setLanguage(CID5000_Languages::English); +report.getObservationContext().addPersonObserver("Doe^Jane", "Some Organization"); +/* ... */ +TID1500_MeasurementReport::TID1411_Measurements &measurements = report.getVolumetricROIMeasurements(); +measurements.setActivitySession("1"); +measurements.setTrackingIdentifier("aorta reference region"); +/* ... */ +DSRDocument document; +document.setPatientName("Last Name^First Name"); +/* ... */ +if (document.setTreeFromRootTemplate(report).good()) + document.print(cout, DSRTypes::PF_printTemplateIdentification); +else + cerr << "Error: cannot set template content as document tree" << endl; +\endcode + */ /*! diff --git a/dcmsr/docs/dsr2html.man b/dcmsr/docs/dsr2html.man index 3140f4ea..bb49cfc4 100644 --- a/dcmsr/docs/dsr2html.man +++ b/dcmsr/docs/dsr2html.man @@ -135,7 +135,7 @@ specific character set: --charset-check-all check all data elements with string values - (default: only PN, LO, LT, SH, ST and UT) + (default: only PN, LO, LT, SH, ST, UC and UT) # this option is only used for the mapping to an appropriate # HTML/XHTML character encoding, but not for the conversion @@ -253,27 +253,34 @@ The HTML/XHTML encoding is determined automatically from the DICOM attribute (0008,0005) "Specific Character Set" using the following mapping: \verbatim -ASCII (ISO_IR 6) => (none) -UTF-8 "ISO_IR 192" => "UTF-8" -ISO Latin 1 "ISO_IR 100" => "ISO-8859-1" -ISO Latin 2 "ISO_IR 101" => "ISO-8859-2" -ISO Latin 3 "ISO_IR 109" => "ISO-8859-3" -ISO Latin 4 "ISO_IR 110" => "ISO-8859-4" -ISO Latin 5 "ISO_IR 148" => "ISO-8859-9" -Cyrillic "ISO_IR 144" => "ISO-8859-5" -Arabic "ISO_IR 127" => "ISO-8859-6" -Greek "ISO_IR 126" => "ISO-8859-7" -Hebrew "ISO_IR 138" => "ISO-8859-8" +ASCII (ISO_IR 6) => (none) +UTF-8 "ISO_IR 192" => "UTF-8" +ISO Latin 1 "ISO_IR 100" => "ISO-8859-1" +ISO Latin 2 "ISO_IR 101" => "ISO-8859-2" +ISO Latin 3 "ISO_IR 109" => "ISO-8859-3" +ISO Latin 4 "ISO_IR 110" => "ISO-8859-4" +ISO Latin 5 "ISO_IR 148" => "ISO-8859-9" +Cyrillic "ISO_IR 144" => "ISO-8859-5" +Arabic "ISO_IR 127" => "ISO-8859-6" +Greek "ISO_IR 126" => "ISO-8859-7" +Hebrew "ISO_IR 138" => "ISO-8859-8" +Thai "ISO_IR 166" => "TIS-620" +Japanese "ISO 2022 IR 13\ISO 2022 IR 87" => "ISO-2022-JP" +Korean "ISO 2022 IR 6\ISO 2022 IR 149" => "ISO-2022-KR" +Chinese "ISO 2022 IR 6\ISO 2022 IR 58" => "ISO-2022-CN" +Chinese "GB18030" => "GB18030" +Chinese "GBK" => "GBK" \endverbatim If this DICOM attribute is missing in the input file, although needed, option \e --charset-assume can be used to specify an appropriate character set -manually (using one of the DICOM defined terms). +manually (using one of the DICOM defined terms). For reasons of backward +compatibility with previous versions of this tool, the following terms are also +supported and mapped automatically to the associated DICOM defined terms: +latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew. -Multiple character sets are not supported (only the first attribute value is -mapped in case of value multiplicity). If needed, option \e --convert-to-utf8 -can be used to convert the DICOM file or data set to UTF-8 encoding prior to -the rendering to HTML/XHTML format. +Option \e --convert-to-utf8 can be used to convert the DICOM file or data set +to UTF-8 encoding prior to the rendering to HTML/XHTML format. \section logging LOGGING @@ -343,6 +350,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 2000-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2000-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsr/docs/dsr2xml.man b/dcmsr/docs/dsr2xml.man index f7cd33fa..c235c01e 100644 --- a/dcmsr/docs/dsr2xml.man +++ b/dcmsr/docs/dsr2xml.man @@ -132,7 +132,7 @@ specific character set: +Cc --charset-check-all check all data elements with string values - (default: only PN, LO, LT, SH, ST and UT) + (default: only PN, LO, LT, SH, ST, UC and UT) # this option is only used for the mapping to an appropriate # XML character encoding, but not for the conversion to UTF-8 @@ -222,27 +222,34 @@ The XML encoding is determined automatically from the DICOM attribute (0008,0005) "Specific Character Set" using the following mapping: \verbatim -ASCII (ISO_IR 6) => "UTF-8" -UTF-8 "ISO_IR 192" => "UTF-8" -ISO Latin 1 "ISO_IR 100" => "ISO-8859-1" -ISO Latin 2 "ISO_IR 101" => "ISO-8859-2" -ISO Latin 3 "ISO_IR 109" => "ISO-8859-3" -ISO Latin 4 "ISO_IR 110" => "ISO-8859-4" -ISO Latin 5 "ISO_IR 148" => "ISO-8859-9" -Cyrillic "ISO_IR 144" => "ISO-8859-5" -Arabic "ISO_IR 127" => "ISO-8859-6" -Greek "ISO_IR 126" => "ISO-8859-7" -Hebrew "ISO_IR 138" => "ISO-8859-8" +ASCII (ISO_IR 6) => "UTF-8" +UTF-8 "ISO_IR 192" => "UTF-8" +ISO Latin 1 "ISO_IR 100" => "ISO-8859-1" +ISO Latin 2 "ISO_IR 101" => "ISO-8859-2" +ISO Latin 3 "ISO_IR 109" => "ISO-8859-3" +ISO Latin 4 "ISO_IR 110" => "ISO-8859-4" +ISO Latin 5 "ISO_IR 148" => "ISO-8859-9" +Cyrillic "ISO_IR 144" => "ISO-8859-5" +Arabic "ISO_IR 127" => "ISO-8859-6" +Greek "ISO_IR 126" => "ISO-8859-7" +Hebrew "ISO_IR 138" => "ISO-8859-8" +Thai "ISO_IR 166" => "TIS-620" +Japanese "ISO 2022 IR 13\ISO 2022 IR 87" => "ISO-2022-JP" +Korean "ISO 2022 IR 6\ISO 2022 IR 149" => "ISO-2022-KR" +Chinese "ISO 2022 IR 6\ISO 2022 IR 58" => "ISO-2022-CN" +Chinese "GB18030" => "GB18030" +Chinese "GBK" => "GBK" \endverbatim If this DICOM attribute is missing in the input file, although needed, option \e --charset-assume can be used to specify an appropriate character set -manually (using one of the DICOM defined terms). +manually (using one of the DICOM defined terms). For reasons of backward +compatibility with previous versions of this tool, the following terms are also +supported and mapped automatically to the associated DICOM defined terms: +latin-1, latin-2, latin-3, latin-4, latin-5, cyrillic, arabic, greek, hebrew. -Multiple character sets are not supported (only the first attribute value is -mapped in case of value multiplicity). If needed, option \e --convert-to-utf8 -can be used to convert the DICOM file or data set to UTF-8 encoding prior to -the conversion to XML format. +Option \e --convert-to-utf8 can be used to convert the DICOM file or data set +to UTF-8 encoding prior to the conversion to XML format. \subsection error_handling Error Handling @@ -326,6 +333,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 2000-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2000-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsr/docs/xml2dsr.man b/dcmsr/docs/xml2dsr.man index 5eff6312..e53bda30 100644 --- a/dcmsr/docs/xml2dsr.man +++ b/dcmsr/docs/xml2dsr.man @@ -212,12 +212,14 @@ Cyrillic "ISO_IR 144" (ISO-8859-5) Arabic "ISO_IR 127" (ISO-8859-6) Greek "ISO_IR 126" (ISO-8859-7) Hebrew "ISO_IR 138" (ISO-8859-8) +Thai "ISO_IR 166" (TIS-620) +Japanese "ISO 2022 IR 13\ISO 2022 IR 87" (ISO-2022-JP) +Korean "ISO 2022 IR 6\ISO 2022 IR 149" (ISO-2022-KR) +Chinese "ISO 2022 IR 6\ISO 2022 IR 58" (ISO-2022-CN) +Chinese "GB18030" (GB18030) +Chinese "GBK" (GBK) \endverbatim -Multiple character sets are not supported (only the first value of the -"Specific Character Set" is used for the character encoding in case of value -multiplicity). - \subsection compression Compression If libxml is compiled with zlib support, the input file (\e xmlfile-in) can @@ -303,6 +305,6 @@ It is an error if no data dictionary can be loaded. \section copyright COPYRIGHT -Copyright (C) 2003-2014 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. +Copyright (C) 2003-2015 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany. */ diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h index 992204c2..29078f4c 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid100.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID100_QuantitativeDiagnosticImagingProcedures * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-26 19:54:59 by J. Riesmeier + * File created on 2016-01-16 12:26:31 by J. Riesmeier * */ @@ -61,7 +61,7 @@ class DCMTK_CMR_EXPORT CID100_QuantitativeDiagnosticImagingProcedures /// (RPID5258,RADLEX,"NM HEAD PERFUSION BRAIN SPECT") NM_HEAD_PERFUSION_BRAIN_SPECT, /// (RPID5427,RADLEX,"NM HEAD PERFUSION BRAIN PET-CT AV-45") - NM_HEAD_PERFUSION_BRAIN_PET_CT_AV_45 + NM_HEAD_PERFUSION_BRAIN_PET_CT_AV45 }; /** (default) constructor @@ -166,4 +166,13 @@ class DCMTK_CMR_EXPORT CID100_QuantitativeDiagnosticImagingProcedures static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID100_QuantitativeDiagnosticImagingProcedures CMR_CID100; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h index ac390097..c0e42571 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid10013.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID10013_CTAcquisitionType * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:27 by J. Riesmeier + * File created on 2016-01-16 12:26:55 by J. Riesmeier * */ @@ -152,4 +152,13 @@ class DCMTK_CMR_EXPORT CID10013_CTAcquisitionType static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID10013_CTAcquisitionType CMR_CID10013; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h index c158d19e..5bde25a5 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid10013e.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID10013e_CTAcquisitionType @@ -91,4 +91,13 @@ class DCMTK_CMR_EXPORT CID10013e_CTAcquisitionType using CID10013_CTAcquisitionType::selectValue; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID10013e_CTAcquisitionType CMR_CID10013e; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h index 82d66a01..41db6f92 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid10033.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID10033_CTReconstructionAlgorithm * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:29 by J. Riesmeier + * File created on 2016-01-16 12:26:57 by J. Riesmeier * */ @@ -146,4 +146,13 @@ class DCMTK_CMR_EXPORT CID10033_CTReconstructionAlgorithm static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID10033_CTReconstructionAlgorithm CMR_CID10033; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h index d1e51c57..09e1ba18 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid10033e.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID10033e_CTReconstructionAlgorithm @@ -95,4 +95,13 @@ class DCMTK_CMR_EXPORT CID10033e_CTReconstructionAlgorithm using CID10033_CTReconstructionAlgorithm::selectValue; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID10033e_CTReconstructionAlgorithm CMR_CID10033e; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h index a04af2a4..79bea976 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid11.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID11_RouteOfAdministration * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:11 by J. Riesmeier + * File created on 2016-01-16 12:26:26 by J. Riesmeier * */ @@ -184,4 +184,13 @@ class DCMTK_CMR_EXPORT CID11_RouteOfAdministration static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID11_RouteOfAdministration CMR_CID11; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h index 9c8e8993..d09c4b93 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid244.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID244_Laterality * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:16 by J. Riesmeier + * File created on 2016-01-16 12:26:33 by J. Riesmeier * */ @@ -150,4 +150,13 @@ class DCMTK_CMR_EXPORT CID244_Laterality static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID244_Laterality CMR_CID244; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h index 98d502bf..951ec3d8 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid244e.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID244e_Laterality @@ -91,4 +91,13 @@ class DCMTK_CMR_EXPORT CID244e_Laterality using CID244_Laterality::selectValue; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID244e_Laterality CMR_CID244e; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h index 2de9bd68..537e277f 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid29.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID29_AcquisitionModality * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:13 by J. Riesmeier + * File created on 2016-01-16 12:26:28 by J. Riesmeier * */ @@ -216,4 +216,13 @@ class DCMTK_CMR_EXPORT CID29_AcquisitionModality static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID29_AcquisitionModality CMR_CID29; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h index 72065701..c7ee8549 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid29e.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID29e_AcquisitionModality @@ -82,4 +82,13 @@ class DCMTK_CMR_EXPORT CID29e_AcquisitionModality using CID29_AcquisitionModality::selectValue; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID29e_AcquisitionModality CMR_CID29e; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h index 45620c35..8dbe7713 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid4020.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID4020_PETRadionuclide * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:18 by J. Riesmeier + * File created on 2016-01-16 12:26:35 by J. Riesmeier * */ @@ -212,4 +212,13 @@ class DCMTK_CMR_EXPORT CID4020_PETRadionuclide static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID4020_PETRadionuclide CMR_CID4020; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h index bc8c0214..5fe89946 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid4021.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID4021_PETRadiopharmaceutical * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:19 by J. Riesmeier + * File created on 2016-01-16 12:26:36 by J. Riesmeier * */ @@ -294,4 +294,13 @@ class DCMTK_CMR_EXPORT CID4021_PETRadiopharmaceutical static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID4021_PETRadiopharmaceutical CMR_CID4021; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h index 422736bf..37711002 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid4031.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID4031_CommonAnatomicRegions * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:21 by J. Riesmeier + * File created on 2016-01-16 12:26:38 by J. Riesmeier * */ @@ -356,4 +356,13 @@ class DCMTK_CMR_EXPORT CID4031_CommonAnatomicRegions static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID4031_CommonAnatomicRegions CMR_CID4031; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h index 1dd0a9d2..0ccd6ef6 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid4031e.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID4031_CommonAnatomicRegions_Enhanced @@ -95,4 +95,13 @@ class DCMTK_CMR_EXPORT CID4031e_CommonAnatomicRegions using CID4031_CommonAnatomicRegions::selectValue; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID4031e_CommonAnatomicRegions CMR_CID4031e; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h index b0921ce0..f04d97cf 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid42.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID42_NumericValueQualifier * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:14 by J. Riesmeier + * File created on 2016-01-16 12:26:30 by J. Riesmeier * */ @@ -166,4 +166,13 @@ class DCMTK_CMR_EXPORT CID42_NumericValueQualifier static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID42_NumericValueQualifier CMR_CID42; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h new file mode 100644 index 00000000..8408a3bd --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid6147.h @@ -0,0 +1,162 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class CID6147_ResponseCriteria + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-16 12:26:40 by J. Riesmeier + * + */ + + +#ifndef CMR_CID6147_H +#define CMR_CID6147_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrctxgr.h" +#include "dcmtk/dcmsr/cmr/define.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Implementation of DCMR Context Group: + * CID 6147 - Response Criteria. + * (type: extensible, version: 20141110) + */ +class DCMTK_CMR_EXPORT CID6147_ResponseCriteria + : public DSRContextGroup +{ + + public: + + /** types of response criteria + */ + enum EnumType + { + /// (112029,DCM,"WHO") + WHO, + /// (126080,DCM,"RECIST 1.0") + RECIST10, + /// (126081,DCM,"RECIST 1.1") + RECIST11, + /// (C114879,NCIt,"RANO") + RANO + }; + + /** (default) constructor + ** @param selectedValue coded entry to be selected as the current value (optional). + * Should be a valid code according to the DICOM definitions + * for this context group, i.e. no checks are performed. + * Call DSRContextGroup::checkSelectedValue() if needed. + */ + CID6147_ResponseCriteria(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue()); + + /** constructor + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + */ + CID6147_ResponseCriteria(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + /** select a coded entry given by its type as the current value + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + // --- static helper functions --- + + /** initialize this context group explicitly. Internally, the list of standard coded + * entries is created and initialized by calling getCodes(). + ** @note This function can be called multiple times but in case of multi-threaded + * applications should be called at least once before any instance of this class + * is actually used. For single-threaded applications, there is no need to call + * it since the initialization is done implicitly. + */ + static void initialize(); + + /** cleanup this context group, i.e.\ delete the internal list of standard coded entries. + * Usually, there is no need to call this method, but it might be useful in order to + * explicitly free the associated memory, e.g. when checking for memory leaks. The list + * will be recreated automatically when needed (or when initialize() is called). + */ + static void cleanup(); + + /** map a given type to the associated coded entry + ** @param value type that should be mapped to a coded entry + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return coded entry that is associated with the given type + */ + static DSRCodedEntryValue getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode = OFFalse); + + // --- reintroduce methods from base class + + using DSRContextGroup::selectValue; + using DSRContextGroup::findCodedEntry; + + + protected: + + /// type used for storing and managing the coded entries + typedef OFMap CodeList; + + /** print details on coded entries that are contained in this context group. + * See DSRCodedEntryValue::print() for details of the coded entry output. + ** @param stream stream to which the output should be printed + */ + virtual void printCodes(STD_NAMESPACE ostream &stream) const; + + /** search for a given coded entry in this context group + ** @param searchForCodedEntry coded entry to be searched for + * @param foundCodedEntry pointer to variable that will store the coded entry + * (if found and pointer is not NULL) + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return result of the search process, also defines the type of the entry + */ + virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode = OFFalse) const; + + // --- static helper function --- + + /** get list of standard coded entries that are managed by this context group. + * Internally, the singleton pattern is used, so the list is initialized only once. + * Please note that this function is not thread-safe. Therefore, the initialize() + * function can be called before any instance of this class is actually used. + ** @return reference to list of coded entries managed by this context group + */ + static CodeList &getCodes(); + + /** set the "Enhanced Encoding Mode" for a given coded entry + ** @param codedEntryValue coded entry for which the enhanced encoding mode is set + ** @return status, EC_Normal if successful, an error code otherwise + */ + static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue); + + + private: + + /// pointer to internal code list (use a static variable for singleton pattern) + static CodeList *Codes; +}; + + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID6147_ResponseCriteria CMR_CID6147; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h index 89ccabb2..588b500b 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7021.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7021_MeasurementReportDocumentTitles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-26 19:55:09 by J. Riesmeier + * File created on 2016-01-16 12:26:42 by J. Riesmeier * */ @@ -150,4 +150,13 @@ class DCMTK_CMR_EXPORT CID7021_MeasurementReportDocumentTitles static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID7021_MeasurementReportDocumentTitles CMR_CID7021; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h new file mode 100644 index 00000000..1301522b --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7181.h @@ -0,0 +1,266 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class CID7181_AbstractMultiDimensionalImageModelComponentUnits + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-16 12:26:44 by J. Riesmeier + * + */ + + +#ifndef CMR_CID7181_H +#define CMR_CID7181_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrctxgr.h" +#include "dcmtk/dcmsr/cmr/define.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Implementation of DCMR Context Group: + * CID 7181 - Abstract Multi-dimensional Image Model Component Units. + * (type: extensible, version: 20141110) + */ +class DCMTK_CMR_EXPORT CID7181_AbstractMultiDimensionalImageModelComponentUnits + : public DSRContextGroup +{ + + public: + + /** types of abstract multi-dimensional image model component units + */ + enum EnumType + { + /// (mm[Hg],UCUM,"mmHg"), included from CID 3500 + MmHg, + /// (kPa,UCUM,"kPa"), included from CID 3500 + KPa, + /// ([PRU],UCUM,"P.R.U."), included from CID 3502 + PRU, + /// ([wood'U],UCUM,"Wood U"), included from CID 3502 + WoodU, + /// (dyn.s.cm-5,UCUM,"dyn.s.cm-5"), included from CID 3502 + Dynscm5, + /// ([PRU]/m2,UCUM,"P.R.U./m2"), included from CID 3503 + PRUPerM2, + /// ([wood'U]/m2,UCUM,"Wood U/m2"), included from CID 3503 + WoodUPerM2, + /// (dyn.s.cm-5/m2,UCUM,"dyn.s.cm-5/m2"), included from CID 3503 + Dynscm5PerM2, + /// (cm,UCUM,"centimeter"), included from CID 7460 + Centimeter, + /// (mm,UCUM,"millimeter"), included from CID 7460 + Millimeter, + /// (um,UCUM,"micrometer"), included from CID 7460 + Micrometer, + /// (cm2,UCUM,"square centimeter"), included from CID 7461 + SquareCentimeter, + /// (mm2,UCUM,"square millimeter"), included from CID 7461 + SquareMillimeter, + /// (um2,UCUM,"square micrometer"), included from CID 7461 + SquareMicrometer, + /// (dm3,UCUM,"cubic decimeter"), included from CID 7462 + CubicDecimeter, + /// (cm3,UCUM,"cubic centimeter"), included from CID 7462 + CubicCentimeter, + /// (mm3,UCUM,"cubic millimeter"), included from CID 7462 + CubicMillimeter, + /// (um3,UCUM,"cubic micrometer"), included from CID 7462 + CubicMicrometer, + /// ({SUVbw}g/ml,UCUM,"Standardized Uptake Value body weight"), included from CID 85 + StandardizedUptakeValueBodyWeight, + /// ({SUVlbm}g/ml,UCUM,"Standardized Uptake Value lean body mass"), included from CID 85 + StandardizedUptakeValueLeanBodyMass, + /// ({SUVbsa}cm2/ml,UCUM,"Standardized Uptake Value body surface area"), included from CID 85 + StandardizedUptakeValueBodySurfaceArea, + /// ({SUVibw}g/ml,UCUM,"Standardized Uptake Value ideal body weight"), included from CID 85 + StandardizedUptakeValueIdealBodyWeight, + /// ({counts},UCUM,"Counts"), included from CID 84 + Counts, + /// ({counts}/s,UCUM,"Counts per second"), included from CID 84 + CountsPerSecond, + /// ({propcounts},UCUM,"Proportional to counts"), included from CID 84 + ProportionalToCounts, + /// ({propcounts}/s,UCUM,"Proportional to counts per second"), included from CID 84 + ProportionalToCountsPerSecond, + /// (%,UCUM,"Percent"), included from CID 84 + Percent, + /// (Bq/ml,UCUM,"Becquerels/milliliter"), included from CID 84 + BecquerelsPerMilliliter, + /// (mg/min/ml,UCUM,"Milligrams/minute/milliliter"), included from CID 84 + MilligramsPerMinutePerMilliliter, + /// (umol/min/ml,UCUM,"Micromole/minute/milliliter"), included from CID 84 + MicromolePerMinutePerMilliliter, + /// (ml/min/g,UCUM,"Milliliter/minute/gram"), included from CID 84 + MilliliterPerMinutePerGram, + /// (ml/g,UCUM,"Milliliter/gram"), included from CID 84 + MilliliterPerGram, + /// (/cm,UCUM,"/Centimeter"), included from CID 84 + PerCentimeter, + /// (umol/ml,UCUM,"Micromole/milliliter"), included from CID 84 + MicromolePerMilliliter, + /// (1,UCUM,"no units") + NoUnits, + /// ({ratio},UCUM,"ratio") + Ratio, + /// ([hnsf'U],UCUM,"Hounsfield Unit") + HounsfieldUnit, + /// ([arb'U],UCUM,"arbitrary unit") + ArbitraryUnit, + /// (cm/s,UCUM,"centimeter/second") + CentimeterPerSecond, + /// (mm/s,UCUM,"millimeter/second") + MillimeterPerSecond, + /// (dB,UCUM,"decibel") + Decibel, + /// (Cel,UCUM,"degrees Celsius") + DegreesCelsius, + /// (ml/min,UCUM,"milliliter per minute") + MilliliterPerMinute, + /// (ml/s,UCUM,"milliliter per second") + MilliliterPerSecond, + /// (ms,UCUM,"millisecond") + Millisecond, + /// (s,UCUM,"second") + Second, + /// (Hz,UCUM,"Hertz") + Hertz, + /// (mT,UCUM,"milliTesla") + MilliTesla, + /// ({Particles}/[100]g{Tissue},UCUM,"number particles per 100 gram of tissue") + NumberParticlesPer100GramOfTissue, + /// (mm2/s,UCUM,"square millimeter per second") + SquareMillimeterPerSecond, + /// (s/mm2,UCUM,"second per square millimeter") + SecondPerSquareMillimeter, + /// (ml/[100]g/min,UCUM,"milliliter per 100 gram per minute") + MilliliterPer100GramPerMinute, + /// (ml/[100]ml,UCUM,"milliliter per 100 milliliter") + MilliliterPer100Milliliter, + /// (mmol/kg{WetWeight},UCUM,"millimoles per kg wet weight") + MillimolesPerKgWetWeight, + /// (/min,UCUM,"/min") + PerMin, + /// (/s,UCUM,"/s") + PerS + }; + + /** (default) constructor + ** @param selectedValue coded entry to be selected as the current value (optional). + * Should be a valid code according to the DICOM definitions + * for this context group, i.e. no checks are performed. + * Call DSRContextGroup::checkSelectedValue() if needed. + */ + CID7181_AbstractMultiDimensionalImageModelComponentUnits(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue()); + + /** constructor + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + */ + CID7181_AbstractMultiDimensionalImageModelComponentUnits(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + /** select a coded entry given by its type as the current value + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + // --- static helper functions --- + + /** initialize this context group explicitly. Internally, the list of standard coded + * entries is created and initialized by calling getCodes(). + ** @note This function can be called multiple times but in case of multi-threaded + * applications should be called at least once before any instance of this class + * is actually used. For single-threaded applications, there is no need to call + * it since the initialization is done implicitly. + */ + static void initialize(); + + /** cleanup this context group, i.e.\ delete the internal list of standard coded entries. + * Usually, there is no need to call this method, but it might be useful in order to + * explicitly free the associated memory, e.g. when checking for memory leaks. The list + * will be recreated automatically when needed (or when initialize() is called). + */ + static void cleanup(); + + /** map a given type to the associated coded entry + ** @param value type that should be mapped to a coded entry + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return coded entry that is associated with the given type + */ + static DSRCodedEntryValue getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode = OFFalse); + + // --- reintroduce methods from base class + + using DSRContextGroup::selectValue; + using DSRContextGroup::findCodedEntry; + + + protected: + + /// type used for storing and managing the coded entries + typedef OFMap CodeList; + + /** print details on coded entries that are contained in this context group. + * See DSRCodedEntryValue::print() for details of the coded entry output. + ** @param stream stream to which the output should be printed + */ + virtual void printCodes(STD_NAMESPACE ostream &stream) const; + + /** search for a given coded entry in this context group + ** @param searchForCodedEntry coded entry to be searched for + * @param foundCodedEntry pointer to variable that will store the coded entry + * (if found and pointer is not NULL) + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return result of the search process, also defines the type of the entry + */ + virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode = OFFalse) const; + + // --- static helper function --- + + /** get list of standard coded entries that are managed by this context group. + * Internally, the singleton pattern is used, so the list is initialized only once. + * Please note that this function is not thread-safe. Therefore, the initialize() + * function can be called before any instance of this class is actually used. + ** @return reference to list of coded entries managed by this context group + */ + static CodeList &getCodes(); + + /** set the "Enhanced Encoding Mode" for a given coded entry + ** @param codedEntryValue coded entry for which the enhanced encoding mode is set + ** @return status, EC_Normal if successful, an error code otherwise + */ + static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue); + + + private: + + /// pointer to internal code list (use a static variable for singleton pattern) + static CodeList *Codes; +}; + + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID7181_AbstractMultiDimensionalImageModelComponentUnits CMR_CID7181; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h index 10cad1d1..9af4e7fb 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7445.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7445_DeviceParticipatingRoles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:23 by J. Riesmeier + * File created on 2016-01-16 12:26:46 by J. Riesmeier * */ @@ -148,4 +148,13 @@ class DCMTK_CMR_EXPORT CID7445_DeviceParticipatingRoles static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID7445_DeviceParticipatingRoles CMR_CID7445; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h index c01e5754..3e598dcf 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7452.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7452_OrganizationalRoles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:24 by J. Riesmeier + * File created on 2016-01-16 12:26:48 by J. Riesmeier * */ @@ -178,4 +178,13 @@ class DCMTK_CMR_EXPORT CID7452_OrganizationalRoles static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID7452_OrganizationalRoles CMR_CID7452; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h index 8c632d70..153fd576 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7453.h @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CID7453_PerformingRoles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 14:59:26 by J. Riesmeier + * File created on 2016-01-16 12:26:49 by J. Riesmeier * */ @@ -162,4 +162,13 @@ class DCMTK_CMR_EXPORT CID7453_PerformingRoles static CodeList *Codes; }; + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID7453_PerformingRoles CMR_CID7453; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h new file mode 100644 index 00000000..eec5b62a --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7464.h @@ -0,0 +1,180 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class CID7464_GeneralRegionOfInterestMeasurementModifiers + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-16 12:26:51 by J. Riesmeier + * + */ + + +#ifndef CMR_CID7464_H +#define CMR_CID7464_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrctxgr.h" +#include "dcmtk/dcmsr/cmr/define.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Implementation of DCMR Context Group: + * CID 7464 - General Region of Interest Measurement Modifiers. + * (type: extensible, version: 20121101) + */ +class DCMTK_CMR_EXPORT CID7464_GeneralRegionOfInterestMeasurementModifiers + : public DSRContextGroup +{ + + public: + + /** types of general region of interest measurement modifiers + */ + enum EnumType + { + /// (G-A437,SRT,"Maximum"), included from CID 3488 + Maximum, + /// (R-404FB,SRT,"Minimum"), included from CID 3488 + Minimum, + /// (R-00317,SRT,"Mean"), included from CID 3488 + Mean, + /// (R-10047,SRT,"Standard Deviation") + StandardDeviation, + /// (R-40507,SRT,"Total") + Total, + /// (R-00319,SRT,"Median") + Median, + /// (R-0032E,SRT,"Mode") + Mode, + /// (126031,DCM,"Peak Value Within ROI") + PeakValueWithinROI, + /// (C0681921,UMLS,"Coefficient of Variance") + CoefficientOfVariance, + /// (126051,DCM,"Skewness") + Skewness, + /// (126052,DCM,"Kurtosis") + Kurtosis, + /// (C1711260,UMLS,"Variance") + Variance, + /// (C2347976,UMLS,"Root Mean Square") + RootMeanSquare + }; + + /** (default) constructor + ** @param selectedValue coded entry to be selected as the current value (optional). + * Should be a valid code according to the DICOM definitions + * for this context group, i.e. no checks are performed. + * Call DSRContextGroup::checkSelectedValue() if needed. + */ + CID7464_GeneralRegionOfInterestMeasurementModifiers(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue()); + + /** constructor + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + */ + CID7464_GeneralRegionOfInterestMeasurementModifiers(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + /** select a coded entry given by its type as the current value + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + // --- static helper functions --- + + /** initialize this context group explicitly. Internally, the list of standard coded + * entries is created and initialized by calling getCodes(). + ** @note This function can be called multiple times but in case of multi-threaded + * applications should be called at least once before any instance of this class + * is actually used. For single-threaded applications, there is no need to call + * it since the initialization is done implicitly. + */ + static void initialize(); + + /** cleanup this context group, i.e.\ delete the internal list of standard coded entries. + * Usually, there is no need to call this method, but it might be useful in order to + * explicitly free the associated memory, e.g. when checking for memory leaks. The list + * will be recreated automatically when needed (or when initialize() is called). + */ + static void cleanup(); + + /** map a given type to the associated coded entry + ** @param value type that should be mapped to a coded entry + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return coded entry that is associated with the given type + */ + static DSRCodedEntryValue getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode = OFFalse); + + // --- reintroduce methods from base class + + using DSRContextGroup::selectValue; + using DSRContextGroup::findCodedEntry; + + + protected: + + /// type used for storing and managing the coded entries + typedef OFMap CodeList; + + /** print details on coded entries that are contained in this context group. + * See DSRCodedEntryValue::print() for details of the coded entry output. + ** @param stream stream to which the output should be printed + */ + virtual void printCodes(STD_NAMESPACE ostream &stream) const; + + /** search for a given coded entry in this context group + ** @param searchForCodedEntry coded entry to be searched for + * @param foundCodedEntry pointer to variable that will store the coded entry + * (if found and pointer is not NULL) + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return result of the search process, also defines the type of the entry + */ + virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode = OFFalse) const; + + // --- static helper function --- + + /** get list of standard coded entries that are managed by this context group. + * Internally, the singleton pattern is used, so the list is initialized only once. + * Please note that this function is not thread-safe. Therefore, the initialize() + * function can be called before any instance of this class is actually used. + ** @return reference to list of coded entries managed by this context group + */ + static CodeList &getCodes(); + + /** set the "Enhanced Encoding Mode" for a given coded entry + ** @param codedEntryValue coded entry for which the enhanced encoding mode is set + ** @return status, EC_Normal if successful, an error code otherwise + */ + static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue); + + + private: + + /// pointer to internal code list (use a static variable for singleton pattern) + static CodeList *Codes; +}; + + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID7464_GeneralRegionOfInterestMeasurementModifiers CMR_CID7464; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h b/dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h new file mode 100644 index 00000000..20f7803c --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/cmr/cid7469.h @@ -0,0 +1,434 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class CID7469_GenericIntensityAndSizeMeasurements + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-16 12:26:53 by J. Riesmeier + * + */ + + +#ifndef CMR_CID7469_H +#define CMR_CID7469_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrctxgr.h" +#include "dcmtk/dcmsr/cmr/define.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Implementation of DCMR Context Group: + * CID 7469 - Generic Intensity and Size Measurements. + * (type: extensible, version: 20141110) + */ +class DCMTK_CMR_EXPORT CID7469_GenericIntensityAndSizeMeasurements + : public DSRContextGroup +{ + + public: + + /** types of generic intensity and size measurements + */ + enum EnumType + { + /// (F-6175A,SRT,"N-acetylaspartate"), included from CID 4033 + NAcetylaspartate, + /// (F-61080,SRT,"Citrate"), included from CID 4033 + Citrate, + /// (F-61620,SRT,"Choline"), included from CID 4033 + Choline, + /// (F-61380,SRT,"Creatine"), included from CID 4033 + Creatine, + /// (113094,DCM,"Creatine and Choline"), included from CID 4033 + CreatineAndCholine, + /// (F-61760,SRT,"Lactate"), included from CID 4033 + Lactate, + /// (F-63600,SRT,"Lipid"), included from CID 4033 + Lipid, + /// (113095,DCM,"Lipid and Lactate"), included from CID 4033 + LipidAndLactate, + /// (113080,DCM,"Glutamate and glutamine"), included from CID 4033 + GlutamateAndGlutamine, + /// (F-64210,SRT,"Glutamine"), included from CID 4033 + Glutamine, + /// (F-64460,SRT,"Tuarine"), included from CID 4033 + Tuarine, + /// (F-61A90,SRT,"Inositol"), included from CID 4033 + Inositol, + /// (113081,DCM,"Choline/Creatine Ratio"), included from CID 4033 + CholinePerCreatineRatio, + /// (113082,DCM,"N-acetylaspartate/Creatine Ratio"), included from CID 4033 + NAcetylaspartatePerCreatineRatio, + /// (113083,DCM,"N-acetylaspartate/Choline Ratio"), included from CID 4033 + NAcetylaspartatePerCholineRatio, + /// (113096,DCM,"Creatine+Choline/Citrate Ratio"), included from CID 4033 + CreatinePlusCholinePerCitrateRatio, + /// (113063,DCM,"T1"), included from CID 7180 + T1, + /// (113065,DCM,"T2"), included from CID 7180 + T2, + /// (113064,DCM,"T2*"), included from CID 7180 + T2Star, + /// (113058,DCM,"Proton Density"), included from CID 7180 + ProtonDensity, + /// (110800,DCM,"Spin Tagging Perfusion MR Signal Intensity"), included from CID 7180 + SpinTaggingPerfusionMRSignalIntensity, + /// (113070,DCM,"Velocity encoded"), included from CID 7180 + VelocityEncoded, + /// (113067,DCM,"Temperature encoded"), included from CID 7180 + TemperatureEncoded, + /// (110801,DCM,"Contrast Agent Angio MR Signal Intensity"), included from CID 7180 + ContrastAgentAngioMRSignalIntensity, + /// (110802,DCM,"Time Of Flight Angio MR Signal Intensity"), included from CID 7180 + TimeOfFlightAngioMRSignalIntensity, + /// (110803,DCM,"Proton Density Weighted MR Signal Intensity"), included from CID 7180 + ProtonDensityWeightedMRSignalIntensity, + /// (110804,DCM,"T1 Weighted MR Signal Intensity"), included from CID 7180 + T1WeightedMRSignalIntensity, + /// (110805,DCM,"T2 Weighted MR Signal Intensity"), included from CID 7180 + T2WeightedMRSignalIntensity, + /// (110806,DCM,"T2* Weighted MR Signal Intensity"), included from CID 7180 + T2StarWeightedMRSignalIntensity, + /// (113043,DCM,"Diffusion weighted"), included from CID 7180 + DiffusionWeighted, + /// (110807,DCM,"Field Map MR Signal Intensity"), included from CID 7180 + FieldMapMRSignalIntensity, + /// (110808,DCM,"Fractional Anisotropy"), included from CID 7180 + FractionalAnisotropy, + /// (110809,DCM,"Relative Anisotropy"), included from CID 7180 + RelativeAnisotropy, + /// (113041,DCM,"Apparent Diffusion Coefficient"), included from CID 7180 + ApparentDiffusionCoefficient, + /// (110810,DCM,"Volumetric Diffusion Dxx Component"), included from CID 7180 + VolumetricDiffusionDxxComponent, + /// (110811,DCM,"Volumetric Diffusion Dxy Component"), included from CID 7180 + VolumetricDiffusionDxyComponent, + /// (110812,DCM,"Volumetric Diffusion Dxz Component"), included from CID 7180 + VolumetricDiffusionDxzComponent, + /// (110813,DCM,"Volumetric Diffusion Dyy Component"), included from CID 7180 + VolumetricDiffusionDyyComponent, + /// (110814,DCM,"Volumetric Diffusion Dyz Component"), included from CID 7180 + VolumetricDiffusionDyzComponent, + /// (110815,DCM,"Volumetric Diffusion Dzz Component"), included from CID 7180 + VolumetricDiffusionDzzComponent, + /// (110816,DCM,"T1 Weighted Dynamic Contrast Enhanced MR Signal Intensity"), included from CID 7180 + T1WeightedDynamicContrastEnhancedMRSignalIntensity, + /// (110817,DCM,"T2 Weighted Dynamic Contrast Enhanced MR Signal Intensity"), included from CID 7180 + T2WeightedDynamicContrastEnhancedMRSignalIntensity, + /// (110818,DCM,"T2* Weighted Dynamic Contrast Enhanced MR Signal Intensity"), included from CID 7180 + T2StarWeightedDynamicContrastEnhancedMRSignalIntensity, + /// (110819,DCM,"Blood Oxygenation Level"), included from CID 7180 + BloodOxygenationLevel, + /// (110820,DCM,"Nuclear Medicine Projection Activity"), included from CID 7180 + NuclearMedicineProjectionActivity, + /// (110821,DCM,"Nuclear Medicine Tomographic Activity"), included from CID 7180 + NuclearMedicineTomographicActivity, + /// (110822,DCM,"Spatial Displacement X Component"), included from CID 7180 + SpatialDisplacementXComponent, + /// (110823,DCM,"Spatial Displacement Y Component"), included from CID 7180 + SpatialDisplacementYComponent, + /// (110824,DCM,"Spatial Displacement Z Component"), included from CID 7180 + SpatialDisplacementZComponent, + /// (110825,DCM,"Hemodynamic Resistance"), included from CID 7180 + HemodynamicResistance, + /// (110826,DCM,"Indexed Hemodynamic Resistance"), included from CID 7180 + IndexedHemodynamicResistance, + /// (112031,DCM,"Attenuation Coefficient"), included from CID 7180 + AttenuationCoefficient, + /// (110827,DCM,"Tissue Velocity"), included from CID 7180 + TissueVelocity, + /// (110828,DCM,"Flow Velocity"), included from CID 7180 + FlowVelocity, + /// (P0-02241,SRT,"Power Doppler"), included from CID 7180 + PowerDoppler, + /// (110829,DCM,"Flow Variance"), included from CID 7180 + FlowVariance, + /// (110830,DCM,"Elasticity"), included from CID 7180 + Elasticity, + /// (110831,DCM,"Perfusion"), included from CID 7180 + Perfusion, + /// (110832,DCM,"Speed of sound"), included from CID 7180 + SpeedOfSound, + /// (110833,DCM,"Ultrasound Attenuation"), included from CID 7180 + UltrasoundAttenuation, + /// (113068,DCM,"Student's T-test"), included from CID 7180 + StudentsTTest, + /// (113071,DCM,"Z-score"), included from CID 7180 + ZScore, + /// (113057,DCM,"R-Coefficient"), included from CID 7180 + RCoefficient, + /// (126220,DCM,"R2-Coefficient"), included from CID 7180 + R2Coefficient, + /// (110834,DCM,"RGB R Component"), included from CID 7180 + RGBRComponent, + /// (110835,DCM,"RGB G Component"), included from CID 7180 + RGBGComponent, + /// (110836,DCM,"RGB B Component"), included from CID 7180 + RGBBComponent, + /// (110837,DCM,"YBR FULL Y Component"), included from CID 7180 + YBR_FULLYComponent, + /// (110838,DCM,"YBR FULL CB Component"), included from CID 7180 + YBR_FULL_CBComponent, + /// (110839,DCM,"YBR FULL CR Component"), included from CID 7180 + YBR_FULL_CRComponent, + /// (110840,DCM,"YBR PARTIAL Y Component"), included from CID 7180 + YBR_PARTIALYComponent, + /// (110841,DCM,"YBR PARTIAL CB Component"), included from CID 7180 + YBR_PARTIAL_CBComponent, + /// (110842,DCM,"YBR PARTIAL CR Component"), included from CID 7180 + YBR_PARTIAL_CRComponent, + /// (110843,DCM,"YBR ICT Y Component"), included from CID 7180 + YBR_ICTYComponent, + /// (110844,DCM,"YBR ICT CB Component"), included from CID 7180 + YBR_ICT_CBComponent, + /// (110845,DCM,"YBR ICT CR Component"), included from CID 7180 + YBR_ICT_CRComponent, + /// (110846,DCM,"YBR RCT Y Component"), included from CID 7180 + YBR_RCTYComponent, + /// (110847,DCM,"YBR RCT CB Component"), included from CID 7180 + YBR_RCT_CBComponent, + /// (110848,DCM,"YBR RCT CR Component"), included from CID 7180 + YBR_RCT_CRComponent, + /// (110849,DCM,"Echogenicity"), included from CID 7180 + Echogenicity, + /// (110850,DCM,"X-Ray Attenuation"), included from CID 7180 + XRayAttenuation, + /// (110852,DCM,"MR signal intensity"), included from CID 7180 + MRSignalIntensity, + /// (110853,DCM,"Binary Segmentation"), included from CID 7180 + BinarySegmentation, + /// (110854,DCM,"Fractional Probabilistic Segmentation"), included from CID 7180 + FractionalProbabilisticSegmentation, + /// (110855,DCM,"Fractional Occupancy Segmentation"), included from CID 7180 + FractionalOccupancySegmentation, + /// (126393,DCM,"R1"), included from CID 7180 + R1, + /// (126394,DCM,"R2"), included from CID 7180 + R2, + /// (126312,DCM,"Ktrans"), included from CID 4107 + Ktrans, + /// (126313,DCM,"kep"), included from CID 4107 + Kep, + /// (126314,DCM,"ve"), included from CID 4107 + Ve, + /// (126330,DCM,"tau_m"), included from CID 4107 + Tau_m, + /// (126331,DCM,"vp"), included from CID 4107 + Vp, + /// (113055,DCM,"Regional Cerebral Blood Flow"), included from CID 4108 + RegionalCerebralBloodFlow, + /// (126390,DCM,"Regional Blood Flow"), included from CID 4108 + RegionalBloodFlow, + /// (113056,DCM,"Regional Cerebral Blood Volume"), included from CID 4108 + RegionalCerebralBloodVolume, + /// (126391,DCM,"Regional Blood Volume"), included from CID 4108 + RegionalBloodVolume, + /// (113052,DCM,"Mean Transit Time"), included from CID 4108 + MeanTransitTime, + /// (113069,DCM,"Time To Peak"), included from CID 4108 + TimeToPeak, + /// (126392,DCM,"Oxygen Extraction Fraction"), included from CID 4108 + OxygenExtractionFraction, + /// (126320,DCM,"IAUC"), included from CID 4109 + IAUC, + /// (126321,DCM,"IAUC60"), included from CID 4109 + IAUC60, + /// (126322,DCM,"IAUC90"), included from CID 4109 + IAUC90, + /// (126370,DCM,"Time of Peak Concentration"), included from CID 4109 + TimeOfPeakConcentration, + /// (126372,DCM,"Time of Leading Half-Peak Concentration"), included from CID 4109 + TimeOfLeadingHalfPeakConcentration, + /// (126371,DCM,"Bolus Arrival Time"), included from CID 4109 + BolusArrivalTime, + /// (126374,DCM,"Temporal Derivative Threshold"), included from CID 4109 + TemporalDerivativeThreshold, + /// (126375,DCM,"Maximum Slope"), included from CID 4109 + MaximumSlope, + /// (126376,DCM,"Maximum Difference"), included from CID 4109 + MaximumDifference, + /// (126377,DCM,"Tracer Concentration"), included from CID 4109 + TracerConcentration, + /// (126400,DCM,"Standardized Uptake Value"), included from CID 7180 + StandardizedUptakeValue, + /// (126401,DCM,"SUVbw"), included from CID 7180 + SUVbw, + /// (126402,DCM,"SUVlbm"), included from CID 7180 + SUVlbm, + /// (126403,DCM,"SUVbsa"), included from CID 7180 + SUVbsa, + /// (126404,DCM,"SUVibw"), included from CID 7180 + SUVibw, + /// (G-A22A,SRT,"Length"), included from CID 7470 + Length, + /// (121211,DCM,"Path length"), included from CID 7470 + PathLength, + /// (121206,DCM,"Distance"), included from CID 7470 + Distance, + /// (G-A220,SRT,"Width"), included from CID 7470 + Width, + /// (G-D785,SRT,"Depth"), included from CID 7470 + Depth, + /// (M-02550,SRT,"Diameter"), included from CID 7470 + Diameter, + /// (G-A185,SRT,"Long Axis"), included from CID 7470 + LongAxis, + /// (G-A186,SRT,"Short Axis"), included from CID 7470 + ShortAxis, + /// (G-A193,SRT,"Major Axis"), included from CID 7470 + MajorAxis, + /// (G-A194,SRT,"Minor Axis"), included from CID 7470 + MinorAxis, + /// (G-A195,SRT,"Perpendicular Axis"), included from CID 7470 + PerpendicularAxis, + /// (G-A196,SRT,"Radius"), included from CID 7470 + Radius, + /// (G-A197,SRT,"Perimeter"), included from CID 7470 + Perimeter, + /// (M-02560,SRT,"Circumference"), included from CID 7470 + Circumference, + /// (G-A198,SRT,"Diameter of circumscribed circle"), included from CID 7470 + DiameterOfCircumscribedCircle, + /// (121207,DCM,"Height"), included from CID 7470 + Height, + /// (G-A166,SRT,"Area"), included from CID 7471 + Area, + /// (G-A16A,SRT,"Area of defined region"), included from CID 7471 + AreaOfDefinedRegion, + /// (G-D705,SRT,"Volume"), included from CID 7472 + Volume, + /// (121216,DCM,"Volume estimated from single 2D region"), included from CID 7472 + VolumeEstimatedFromSingle2DRegion, + /// (121218,DCM,"Volume estimated from two non-coplanar 2D regions"), included from CID 7472 + VolumeEstimatedFromTwoNonCoplanar2DRegions, + /// (121217,DCM,"Volume estimated from three or more non-coplanar 2D regions"), included from CID 7472 + VolumeEstimatedFromThreeOrMoreNonCoplanar2DRegions, + /// (121222,DCM,"Volume of sphere"), included from CID 7472 + VolumeOfSphere, + /// (121221,DCM,"Volume of ellipsoid"), included from CID 7472 + VolumeOfEllipsoid, + /// (121220,DCM,"Volume of circumscribed sphere"), included from CID 7472 + VolumeOfCircumscribedSphere, + /// (121219,DCM,"Volume of bounding three dimensional region"), included from CID 7472 + VolumeOfBoundingThreeDimensionalRegion + }; + + /** (default) constructor + ** @param selectedValue coded entry to be selected as the current value (optional). + * Should be a valid code according to the DICOM definitions + * for this context group, i.e. no checks are performed. + * Call DSRContextGroup::checkSelectedValue() if needed. + */ + CID7469_GenericIntensityAndSizeMeasurements(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue()); + + /** constructor + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + ** @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + */ + CID7469_GenericIntensityAndSizeMeasurements(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + /** select a coded entry given by its type as the current value + ** @param selectedValue type mapped to a coded entry that is selected as the + * current value + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode = OFFalse); + + // --- static helper functions --- + + /** initialize this context group explicitly. Internally, the list of standard coded + * entries is created and initialized by calling getCodes(). + ** @note This function can be called multiple times but in case of multi-threaded + * applications should be called at least once before any instance of this class + * is actually used. For single-threaded applications, there is no need to call + * it since the initialization is done implicitly. + */ + static void initialize(); + + /** cleanup this context group, i.e.\ delete the internal list of standard coded entries. + * Usually, there is no need to call this method, but it might be useful in order to + * explicitly free the associated memory, e.g. when checking for memory leaks. The list + * will be recreated automatically when needed (or when initialize() is called). + */ + static void cleanup(); + + /** map a given type to the associated coded entry + ** @param value type that should be mapped to a coded entry + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return coded entry that is associated with the given type + */ + static DSRCodedEntryValue getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode = OFFalse); + + // --- reintroduce methods from base class + + using DSRContextGroup::selectValue; + using DSRContextGroup::findCodedEntry; + + + protected: + + /// type used for storing and managing the coded entries + typedef OFMap CodeList; + + /** print details on coded entries that are contained in this context group. + * See DSRCodedEntryValue::print() for details of the coded entry output. + ** @param stream stream to which the output should be printed + */ + virtual void printCodes(STD_NAMESPACE ostream &stream) const; + + /** search for a given coded entry in this context group + ** @param searchForCodedEntry coded entry to be searched for + * @param foundCodedEntry pointer to variable that will store the coded entry + * (if found and pointer is not NULL) + * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + ** @return result of the search process, also defines the type of the entry + */ + virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode = OFFalse) const; + + // --- static helper function --- + + /** get list of standard coded entries that are managed by this context group. + * Internally, the singleton pattern is used, so the list is initialized only once. + * Please note that this function is not thread-safe. Therefore, the initialize() + * function can be called before any instance of this class is actually used. + ** @return reference to list of coded entries managed by this context group + */ + static CodeList &getCodes(); + + /** set the "Enhanced Encoding Mode" for a given coded entry + ** @param codedEntryValue coded entry for which the enhanced encoding mode is set + ** @return status, EC_Normal if successful, an error code otherwise + */ + static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue); + + + private: + + /// pointer to internal code list (use a static variable for singleton pattern) + static CodeList *Codes; +}; + + +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the context group class +typedef CID7469_GenericIntensityAndSizeMeasurements CMR_CID7469; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/init.h b/dcmsr/include/dcmtk/dcmsr/cmr/init.h index d966d91c..7cbf4813 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/init.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/init.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CMR_ContentMappingResource @@ -44,10 +44,14 @@ class DCMTK_CMR_EXPORT CMR_ContentMappingResource * - CID4031_CommonAnatomicRegions * - CID5000_Languages * - CID5001_Countries + * - CID6147_ResponseCriteria * - CID7021_MeasurementReportDocumentTitles + * - CID7181_AbstractMultiDimensionalImageModelComponentUnits * - CID7445_DeviceParticipatingRoles * - CID7452_OrganizationalRoles * - CID7453_PerformingRoles + * - CID7464_GeneralRegionOfInterestMeasurementModifiers + * - CID7469_GenericIntensityAndSizeMeasurements * - CID10013_CTAcquisitionType * - CID10033_CTReconstructionAlgorithm * diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h b/dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h index 18b54c0e..8a1cd56e 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/srnumvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class CMR_SRNumericMeasurementValue @@ -23,8 +23,10 @@ * class declaration * *---------------------*/ -/** Class for SR numeric measurement values - * (extended version with additional support of the DICOM Content Mapping Resource) +/** Class for SR numeric values and measurements + * (extended version with additional support of the DICOM Content Mapping Resource). + * This class checks whether the optional value qualifier uses a coded entry from the + * Defined Context Group 42 (Numeric Value Qualifier), see DICOM PS 3.3 Table C.18.1-1. */ class DCMTK_CMR_EXPORT CMR_SRNumericMeasurementValue : public DSRNumericMeasurementValue @@ -37,7 +39,7 @@ class DCMTK_CMR_EXPORT CMR_SRNumericMeasurementValue CMR_SRNumericMeasurementValue(); /** constructor - ** @param numericValue numeric measurement value (VR=DS, mandatory) + ** @param numericValue numeric value (VR=DS, mandatory) * @param measurementUnit code representing the units of measurement (mandatory) * @param check if enabled, check 'numericValue' and 'measurementUnit' for * validity before setting them. See corresponding setValue() @@ -48,17 +50,29 @@ class DCMTK_CMR_EXPORT CMR_SRNumericMeasurementValue const OFBool check = OFTrue); /** constructor - ** @param numericValue numeric measurement value (VR=DS, mandatory) + ** @param valueQualifier code representing the numeric value qualifier. Used to + * specify the reason for the absence of the measured value + * sequence, i.e. why the numeric value and measurement unit + * are empty. + * @param check if enabled, check value for validity before setting it. + * See corresponding setValue() method for details. + */ + CMR_SRNumericMeasurementValue(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check = OFTrue); + + /** constructor + ** @param numericValue numeric value (VR=DS, mandatory) * @param measurementUnit code representing the units of measurement (mandatory) * @param valueQualifier code representing the numeric value qualifier (optional). * Can also be used to specify the reason for the absence of - * the measured value sequence. + * the measured value sequence (where 'numericValue' and + * 'measurementUnit' are stored). * @param check if enabled, check values for validity before setting them. * See corresponding setValue() method for details. */ CMR_SRNumericMeasurementValue(const OFString &numericValue, const DSRCodedEntryValue &measurementUnit, - const DSRCodedEntryValue &valueQualifier, + const CID42_NumericValueQualifier &valueQualifier, const OFBool check = OFTrue); /** copy constructor @@ -66,6 +80,11 @@ class DCMTK_CMR_EXPORT CMR_SRNumericMeasurementValue */ CMR_SRNumericMeasurementValue(const CMR_SRNumericMeasurementValue &numericMeasurement); + /** copy constructor + ** @param numericMeasurement numeric measurement value to be copied (not checked !) + */ + CMR_SRNumericMeasurementValue(const DSRNumericMeasurementValue &numericMeasurement); + /** destructor */ virtual ~CMR_SRNumericMeasurementValue(); @@ -76,19 +95,59 @@ class DCMTK_CMR_EXPORT CMR_SRNumericMeasurementValue */ CMR_SRNumericMeasurementValue &operator=(const CMR_SRNumericMeasurementValue &numericMeasurement); + /** set empty numeric value and measurement unit with a numeric value qualifier. + * Before setting the value, it is usually checked. If the value is invalid, the + * current numeric measurement value is not replaced and remains unchanged. + ** @param valueQualifier numeric value qualifier to be set. Used to specify the + * reason for the absence of the measured value sequence, + * i.e. why the numeric value and measurement unit are empty. + * @param check if enabled, check value for validity before setting it. + * See checkNumericValueQualifier() method for details. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setValue(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check = OFTrue); + + /** set numeric value, measurement unit and numeric value qualifier. + * Before setting the values, they are usually checked. Please note that both + * 'numericValue' and 'measurementUnit' either have to be empty or non-empty. + * If one of the three values is invalid, the current numeric measurement value is not + * replaced and remains unchanged. If the values are replaced, the optional floating + * point and rational representations are cleared, i.e. they have to be set manually if + * needed. + ** @param numericValue numeric value to be set (VR=DS, mandatory) + * @param measurementUnit measurement unit to be set (mandatory) + * @param valueQualifier numeric value qualifier to be set (optional). Can also be + * used to specify the reason for the absence of the measured + * value sequence (where 'numericValue' and 'measurementUnit' + * are stored). Use an empty code to remove the current value. + * @param check if enabled, check values for validity before setting them. + * See checkXXX() methods for details. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setValue(const OFString &numericValue, + const DSRCodedEntryValue &measurementUnit, + const CID42_NumericValueQualifier &valueQualifier, + const OFBool check = OFTrue); + /** set numeric value qualifier. * This optional code specifies the qualification of the Numeric Value in the Measured * Value Sequence, or the reason for the absence of the Measured Value Sequence Item. - ** @param valueQualifier numeric value qualifier to be set - * @param enhancedEncodingMode set enhanced encoding mode for coded entry (if enabled) + * Before setting the code, it is usually checked. If the code is invalid the current + * code is not replaced and remains unchanged. + ** @param valueQualifier numeric value qualifier to be set (optional). Use an empty + * code to remove the current value. + * @param check if enabled, check value for validity before setting it. + * See checkNumericValueQualifier() method for details. ** @return status, EC_Normal if successful, an error code otherwise */ - OFCondition setNumericValueQualifier(CID42_NumericValueQualifier::EnumType valueQualifier, - const OFBool enhancedEncodingMode = OFFalse); + OFCondition setNumericValueQualifier(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check = OFTrue); // --- reintroduce method from base class - using DSRNumericMeasurementValue::setNumericValueQualifier; + using DSRNumericMeasurementValue::setValue; + using DSRNumericMeasurementValue::setNumericValueQualifier; protected: diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h b/dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h new file mode 100644 index 00000000..2838da00 --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/cmr/srnumvlu.h @@ -0,0 +1,319 @@ +/* + * + * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class CMR_SRNumericMeasurementValueWithUnits + * + * Author: Joerg Riesmeier + * + */ + + +#ifndef CMR_SRNUMVLU_H +#define CMR_SRNUMVLU_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/cmr/srnumvl.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Class for SR numeric values and measurements + * (extended version with additional support of the DICOM Content Mapping Resource). + * This class checks whether the optional value qualifier uses a coded entry from the + * Defined Context Group 42 (Numeric Value Qualifier), see DICOM PS 3.3 Table C.18.1-1. + * It also provides a means of specifying the Context Group for the measurement unit + * as a C++ template type parameter. Both Baseline (BCID) and Defined Context Groups + * (DCID) are supported. + ** @tparam T_Units template type used for the measurement units (context group) + * @tparam T_DefinedGroup flag indicating whether 'T_Units' is used as a baseline + * (default) or defined context group + */ +template +class CMR_SRNumericMeasurementValueWithUnits + : public CMR_SRNumericMeasurementValue +{ + + public: + + /** default constructor + */ + CMR_SRNumericMeasurementValueWithUnits(); + + /** constructor + ** @param numericValue numeric value (VR=DS, mandatory) + * @param measurementUnit code representing the units of measurement (mandatory) + * @param check if enabled, check 'numericValue' and 'measurementUnit' for + * validity before setting them. See corresponding setValue() + * method for details. + */ + CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue, + const T_Units &measurementUnit, + const OFBool check = OFTrue); + + /** constructor + ** @param valueQualifier code representing the numeric value qualifier. Used to + * specify the reason for the absence of the measured value + * sequence, i.e. why the numeric value and measurement unit + * are empty. + * @param check if enabled, check value for validity before setting it. + * See corresponding setValue() method for details. + */ + CMR_SRNumericMeasurementValueWithUnits(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check = OFTrue); + + /** constructor + ** @param numericValue numeric value (VR=DS, mandatory) + * @param measurementUnit code representing the units of measurement (mandatory) + * @param valueQualifier code representing the numeric value qualifier (optional). + * Can also be used to specify the reason for the absence of + * the measured value sequence (where 'numericValue' and + * 'measurementUnit' are stored). + * @param check if enabled, check values for validity before setting them. + * See corresponding setValue() method for details. + */ + CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue, + const T_Units &measurementUnit, + const CID42_NumericValueQualifier &valueQualifier, + const OFBool check = OFTrue); + + /** copy constructor + ** @param numericMeasurement numeric measurement value to be copied (not checked !) + */ + CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValueWithUnits &numericMeasurement); + + /** copy constructor + ** @param numericMeasurement numeric measurement value to be copied (not checked !) + */ + CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValue &numericMeasurement); + + /** destructor + */ + virtual ~CMR_SRNumericMeasurementValueWithUnits(); + + /** assignment operator + ** @param numericMeasurement numeric measurement value to be copied (not checked !) + ** @return reference to this numeric value after 'numericMeasurement' has been copied + */ + CMR_SRNumericMeasurementValueWithUnits &operator=(const CMR_SRNumericMeasurementValueWithUnits &numericMeasurement); + + /** set numeric value and measurement unit. + * Before setting the values, they are usually checked. Please note that both values + * (i.e. 'numericValue' and 'measurementUnit') either have to be empty or non-empty. + * If the value pair is invalid, the current value pair is not replaced and remains + * unchanged. If the value pair is replaced, the optional floating point and rational + * representations are cleared, i.e. they have to be set manually if needed. + ** @param numericValue numeric value to be set (VR=DS, mandatory) + * @param measurementUnit measurement unit to be set (mandatory) + * @param check if enabled, check values for validity before setting them. + * See checkXXX() methods for details. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setValue(const OFString &numericValue, + const T_Units &measurementUnit, + const OFBool check = OFTrue); + + /** set numeric value, measurement unit and numeric value qualifier. + * Before setting the values, they are usually checked. Please note that both + * 'numericValue' and 'measurementUnit' either have to be empty or non-empty. + * If one of the three values is invalid, the current numeric measurement value is not + * replaced and remains unchanged. If the values are replaced, the optional floating + * point and rational representations are cleared, i.e. they have to be set manually if + * needed. + ** @param numericValue numeric value to be set (VR=DS, mandatory) + * @param measurementUnit measurement unit to be set (mandatory) + * @param valueQualifier numeric value qualifier to be set (optional). Can also be + * used to specify the reason for the absence of the measured + * value sequence (where 'numericValue' and 'measurementUnit' + * are stored). Use an empty code to remove the current value. + * @param check if enabled, check values for validity before setting them. + * See checkXXX() methods for details. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setValue(const OFString &numericValue, + const T_Units &measurementUnit, + const CID42_NumericValueQualifier &valueQualifier, + const OFBool check = OFTrue); + + /** set measurement unit. + * Before setting the code, it is usually checked. If the code is invalid the current + * code is not replaced and remains unchanged. + ** @param measurementUnit measurement unit to be set (mandatory) + * @param check if enabled, check value for validity before setting it. + * See checkMeasurementUnit() method for details. An empty + * value is never accepted, use the clear() method instead. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMeasurementUnit(const T_Units &measurementUnit, + const OFBool check = OFTrue); + + + protected: + + /** check the specified measurement unit for validity. + * First, the inherited method CMR_SRNumericMeasurementValue::checkMeasurementUnit() + * is called. Then, conformance with any Defined Context Group (T_Units) is checked. + ** @param measurementUnit measurement unit to be checked + ** @return status, EC_Normal if measurement unit is valid, an error code otherwise + */ + virtual OFCondition checkMeasurementUnit(const DSRCodedEntryValue &measurementUnit) const; + + /** check the specified measurement unit for validity. + * This method also checks conformance with any Defined Context Group (T_Units). + ** @param measurementUnit measurement unit to be checked + ** @return status, EC_Normal if measurement unit is valid, an error code otherwise + */ + virtual OFCondition checkMeasurementUnit(const T_Units &measurementUnit) const; +}; + + +/*------------------* + * implementation * + *------------------*/ + +template +CMR_SRNumericMeasurementValueWithUnits::CMR_SRNumericMeasurementValueWithUnits() + : CMR_SRNumericMeasurementValue() +{ +} + +template +CMR_SRNumericMeasurementValueWithUnits::CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue, + const T_Units &measurementUnit, + const OFBool check) + : CMR_SRNumericMeasurementValue() +{ + /* use this method in order to pass T_Units parameter */ + setValue(numericValue, measurementUnit, check); +} + + +template +CMR_SRNumericMeasurementValueWithUnits::CMR_SRNumericMeasurementValueWithUnits(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check) + : CMR_SRNumericMeasurementValue(valueQualifier, check) +{ +} + + +template +CMR_SRNumericMeasurementValueWithUnits::CMR_SRNumericMeasurementValueWithUnits(const OFString &numericValue, + const T_Units &measurementUnit, + const CID42_NumericValueQualifier &valueQualifier, + const OFBool check) + : CMR_SRNumericMeasurementValue() +{ + /* use this method in order to pass T_Units parameter */ + setValue(numericValue, measurementUnit, valueQualifier, check); +} + + +template +CMR_SRNumericMeasurementValueWithUnits::CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValueWithUnits &numericMeasurement) + : CMR_SRNumericMeasurementValue(numericMeasurement) +{ +} + + +template +CMR_SRNumericMeasurementValueWithUnits::CMR_SRNumericMeasurementValueWithUnits(const CMR_SRNumericMeasurementValue &numericMeasurement) + : CMR_SRNumericMeasurementValue(numericMeasurement) +{ +} + + +template +CMR_SRNumericMeasurementValueWithUnits::~CMR_SRNumericMeasurementValueWithUnits() +{ +} + + +template +CMR_SRNumericMeasurementValueWithUnits &CMR_SRNumericMeasurementValueWithUnits::operator=(const CMR_SRNumericMeasurementValueWithUnits &numericMeasurement) +{ + CMR_SRNumericMeasurementValue::operator=(numericMeasurement); + return *this; +} + + +template +OFCondition CMR_SRNumericMeasurementValueWithUnits::setValue(const OFString &numericValue, + const T_Units &measurementUnit, + const OFBool check) +{ + const DSRCodedEntryValue valueQualifier; + /* call the function doing the real work */ + return CMR_SRNumericMeasurementValueWithUnits::setValue(numericValue, measurementUnit, valueQualifier, check); +} + + +template +OFCondition CMR_SRNumericMeasurementValueWithUnits::setValue(const OFString &numericValue, + const T_Units &measurementUnit, + const CID42_NumericValueQualifier &valueQualifier, + const OFBool check) +{ + OFCondition result = EC_Normal; + if (check) + { + /* only check if at least one of the two values is non-empty */ + if (!numericValue.empty() || !measurementUnit.hasSelectedValue()) + { + /* check whether the passed values are valid */ + result = checkNumericValue(numericValue); + if (result.good()) + result = checkMeasurementUnit(measurementUnit); + } + if (result.good()) + result = checkNumericValueQualifier(valueQualifier); + } + /* set the value (without checking all the details again) */ + if (result.good()) + result = CMR_SRNumericMeasurementValue::setValue(numericValue, measurementUnit, valueQualifier, OFFalse /*check*/); + return result; +} + + +template +OFCondition CMR_SRNumericMeasurementValueWithUnits::setMeasurementUnit(const T_Units &measurementUnit, + const OFBool check) +{ + /* first, check given measurement unit for validity (if not disabled) */ + OFCondition result = (check) ? checkMeasurementUnit(measurementUnit) : EC_Normal; + /* then, set the measurement unit (without checking the coded entry again) */ + if (result.good()) + result = CMR_SRNumericMeasurementValue::setMeasurementUnit(measurementUnit, OFFalse /*check*/); + return result; +} + + +template +OFCondition CMR_SRNumericMeasurementValueWithUnits::checkMeasurementUnit(const DSRCodedEntryValue &measurementUnit) const +{ + /* first, check coded entry for basic validity */ + OFCondition result = CMR_SRNumericMeasurementValue::checkMeasurementUnit(measurementUnit); + /* then, check whether coded entry is allowed (if defined context group) */ + if (result.good() && T_DefinedGroup) + { + const T_Units contextGroup; + if (!contextGroup.hasCodedEntry(measurementUnit)) + result = SR_EC_CodedEntryNotInContextGroup; + } + return result; +} + + +template +OFCondition CMR_SRNumericMeasurementValueWithUnits::checkMeasurementUnit(const T_Units &measurementUnit) const +{ + /* measurement unit should never be empty */ + return measurementUnit.hasSelectedValue() ? measurementUnit.checkSelectedValue(T_DefinedGroup) + : SR_EC_InvalidValue; +} + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h b/dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h index ce1a09f8..cca17e3e 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/tid1001.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class TID1001_ObservationContext @@ -83,6 +83,7 @@ class DCMTK_CMR_EXPORT TID1001_ObservationContext * whilst the observations were being made (optional) * @param procedureRoles the roles played by a device in a procedure (optional, * multiple values allowed) + * @param stationAEtitle application entity title of the device (optional) * @param check if enabled, check values for validity before setting them ** @return status, EC_Normal if successful, an error code otherwise */ @@ -93,6 +94,7 @@ class DCMTK_CMR_EXPORT TID1001_ObservationContext const OFString &serialNumber = "", const OFString &physicalLocation = "", const DeviceParticipatingRolesList &procedureRoles = DeviceParticipatingRolesList(), + const OFString &stationAEtitle = "", const OFBool check = OFTrue); /** add content items for TID 1005 (Procedure Context) @@ -107,4 +109,12 @@ class DCMTK_CMR_EXPORT TID1001_ObservationContext }; +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the SR template class +typedef TID1001_ObservationContext CMR_TID1001; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h b/dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h index 9fde6068..d8f31a3e 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/tid1204.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class TID1204_LanguageOfContentItemAndDescendants @@ -27,7 +27,7 @@ *---------------------*/ /** Implementation of DCMR Template: - * TID 1204 - Language of Content Item and Descendants + * TID 1204 - Language of Content Item and Descendants. * All added content items are annotated with a text in the format "TID 1204 - Row [n]". */ class DCMTK_CMR_EXPORT TID1204_LanguageOfContentItemAndDescendants @@ -55,4 +55,12 @@ class DCMTK_CMR_EXPORT TID1204_LanguageOfContentItemAndDescendants }; +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the SR template class +typedef TID1204_LanguageOfContentItemAndDescendants CMR_TID1204; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h b/dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h new file mode 100644 index 00000000..58bace6d --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/cmr/tid1411.h @@ -0,0 +1,325 @@ +/* + * + * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class TID1411_VolumetricROIMeasurements + * + * Author: Joerg Riesmeier + * + */ + + +#ifndef CMR_TID1411_H +#define CMR_TID1411_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrstpl.h" + +#include "dcmtk/dcmsr/cmr/define.h" +#include "dcmtk/dcmsr/cmr/srnumvlu.h" + + +// include this file in doxygen documentation + +/** @file tid1411.h + * @brief Interface class and error constants for TID 1411 in module dcmsr/cmr + */ + + +/*------------------------* + * constant definitions * + *------------------------*/ + +/** @name specific error conditions for TID 1411 in module dcmsr/cmr + */ +//@{ + +/// error: there is no measurement group to add entries to +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoMeasurementGroup; +/// error: the given segmentation object does not conform to the template constraints +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_InvalidSegmentationObject; +/// error: the given DICOM object is not a real world value mapping object +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_InvalidRealWorldValueMappingObject; + +//@} + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Implementation of DCMR Template: + * TID 1411 - Volumetric ROI Measurements (and included templates 1502 and 1419). + * All added content items are annotated with a text in the format "TID 1411 - Row [n]". + ** @tparam T_Measurement concept names for the numeric measurements (context group) + * @tparam T_Units units of the numeric measurement values (context group) + * @tparam T_Method methods used for measuring the values (context group) + * @tparam T_Derivation methods of deriving or calculating the values (context group) + ** @note Please note that currently only the mandatory (and some optional/conditional) + * content items and included templates are supported. + * @note Also note that this template class requires explicit instantiation for those + * combinations of the template parameters that are actually used. This is + * because the implementation is "hidden" in a separate source file, which has + * some advantages over the usual header-only approach. + */ +template +class DCMTK_CMR_EXPORT TID1411_VolumetricROIMeasurements + : public DSRSubTemplate +{ + + public: + + // type definition + typedef CMR_SRNumericMeasurementValueWithUnits MeasurementValue; + + /** (default) constructor + ** @param createGroup flag indicating whether to create an empty measurement group + * by calling createMeasurementGroup() during startup + */ + TID1411_VolumetricROIMeasurements(const OFBool createGroup = OFFalse); + + /** check whether the current internal state is valid. + * That means, whether the base class is valid and whether all mandatory content + * items and included templates are valid, i.e. hasMeasurementGroup(), + * hasTrackingIdentifier(), hasTrackingUniqueIdentifier(), hasReferencedSegment(), + * hasSourceSeriesForSegmentation() and hasROIMeasurements() return true. + ** @return OFTrue if valid, OFFalse otherwise + */ + OFBool isValid() const; + + /** check whether the 'Measurement Group' content item (TID 1411 - Row 1) is present. + * Initially, this mandatory content item is created by the constructor of this + * class (if not disabled). After clear() has been called, it can be created again + * by calling createMeasurementGroup(). + ** @param checkChildren optional flag indicating whether to also check for any + * children, i.e.\ whether the respective content item has + * child nodes. By default, the presence of the higher-level + * CONTAINER is checked only. + ** @return OFTrue if the measurement group is present, OFFalse otherwise + */ + OFBool hasMeasurementGroup(const OFBool checkChildren = OFFalse) const; + + /** check whether the 'Tracking Identifier' content item (TID 1411 - Row 2) is + * present. This content item is mandatory, i.e. should be present with a value. + ** @return OFTrue if the tracking identifier is present, OFFalse otherwise + */ + OFBool hasTrackingIdentifier() const; + + /** check whether the 'Tracking Unique Identifier' content item (TID 1411 - Row 3) is + * present. This content item is mandatory, i.e. should be present with a value. + ** @return OFTrue if the tracking unique identifier is present, OFFalse otherwise + */ + OFBool hasTrackingUniqueIdentifier() const; + + /** check whether the 'Referenced Segment' content item (TID 1411 - Row 7) is present. + * This content item is conditional, but should be present to meet the conditions. + ** @return OFTrue if the referenced segment is present, OFFalse otherwise + */ + OFBool hasReferencedSegment() const; + + /** check whether the 'Source Series for Segmentation' content item (TID 1411 - + * Row 12) is present. This content item is conditional, but should be present to + * meet the conditions. + ** @return OFTrue if source series for segmentation is present, OFFalse otherwise + */ + OFBool hasSourceSeriesForSegmentation() const; + + /** check whether there is an included 'ROI Measurements' template (TID 1411 - + * Row 15) in this measurement template. This included template is mandatory. + ** @return OFTrue if ROI measurements are present, OFFalse otherwise + */ + OFBool hasROIMeasurements() const; + + /** set the value of the 'Activity Session' content item (TID 1411 - Row 1b). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param session identifier of the session during which the measurements were made + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setActivitySession(const OFString &session, + const OFBool check = OFTrue); + + /** set the value of the 'Tracking Identifier' content item (TID 1411 - Row 2). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param trackingID a text label used for tracking a finding or feature + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setTrackingIdentifier(const OFString &trackingID, + const OFBool check = OFTrue); + + /** set the value of the 'Tracking Unique Identifier' content item (TID 1411 - Row 3). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param trackingUID a unique identifier used for tracking a finding or feature + * (associated DICOM VR=UI) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setTrackingUniqueIdentifier(const OFString &trackingUID, + const OFBool check = OFTrue); + + /** set the value of the 'Finding' content item (TID 1411 - Row 3b). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param finding coded entry that describes the type of the finding + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setFinding(const DSRCodedEntryValue &finding, + const OFBool check = OFTrue); + + /** set the value of the 'Time Point' content item (TID 1502 - Row 3). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param timePoint a short pre-defined label that is human-readable + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setTimePoint(const OFString &timePoint, + const OFBool check = OFTrue); + + /** set the value of the 'Referenced Segment' content item (TID 1411 - Row 7). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param segment reference to a segmentation object with a single selected + * segment; specifically the pixels or voxels identified as + * belonging to the classification of the identified segment + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setReferencedSegment(const DSRImageReferenceValue &segment, + const OFBool check = OFTrue); + + /** set the value of the 'Referenced Segment' content item (TID 1411 - Row 7). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + * If 'copyTracking' is enabled and the 'dataset' contains appropriate tracking + * information for the given 'segmentNumber', setTrackingIdentifier() and + * setTrackingUniqueIdentifier() are also called by this method. + ** @param dataset DICOM dataset from which the values for the referenced + * segment (e.g. SOP class UID and SOP instance UID) should + * be retrieved + * @param segmentNumber number of the segment that should be referenced. The + * value is only checked when 'copyTracking' is enabled. + * @param copyTracking flag indicating whether to copy tracking information + * (tracking ID and UID) from the 'dataset', if available + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setReferencedSegment(DcmItem &dataset, + const Uint16 segmentNumber, + const OFBool copyTracking = OFTrue, + const OFBool check = OFTrue); + + /** set the value of the 'Source series for segmentation' content item (TID 1411 - + * Row 12). A measurement group is created automatically (if none is present). + * If the content item already exists, its value is overwritten. + ** @param seriesUID the unique identifier of the source series of images that + * were segmented to identify the ROI (associated DICOM VR=UI) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setSourceSeriesForSegmentation(const OFString &seriesUID, + const OFBool check = OFTrue); + + /** set the value of the 'Real World Value Map used for measurement' content item + * (TID 1411 - Row 14). A measurement group is created automatically (if none is + * present). If the content item already exists, its value is overwritten. + ** @param valueMap reference to a real world value mapping object applied to the + * stored image pixel values before their use for a measurement + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setRealWorldValueMap(const DSRCompositeReferenceValue &valueMap, + const OFBool check = OFTrue); + + /** set the value of the 'Real World Value Map used for measurement' content item + * (TID 1411 - Row 14). A measurement group is created automatically (if none is + * present). If the content item already exists, its value is overwritten. + ** @param dataset DICOM dataset from which the values for the reference to a + * real world value mapping object (SOP class UID and SOP instance + * UID) should be retrieved + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setRealWorldValueMap(DcmItem &dataset, + const OFBool check = OFTrue); + + /** set the value of the 'Measurement Method' content item (TID 1419 - Row 1). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param method coded entry describing the method used for measuring the values + * (e.g.\ from the given context group 'T_Method') + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setMeasurementMethod(const T_Method &method, + const OFBool check = OFTrue); + + /** set the value of the 'Finding Site' content item (TID 1419 - Row 2). + * A measurement group is created automatically (if none is present). If the + * content item already exists, its value is overwritten. + ** @param site coded entry describing the anatomic location of the measurements + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setFindingSite(const DSRCodedEntryValue &site, + const OFBool check = OFTrue); + + /** add a measurement as defined in 'ROI Measurements' (TID 1419 - Row 5, 7 and 8). + * There should be at least a single instance of the associated template. + ** @param conceptName coded entry specifying the concept name of the measurement + * (e.g.\ from the given context group 'T_Measurement') + * @param numericValue numeric measurement value to be set. The measurement unit + * could be taken from the baseline context group 'T_Units'. + * @param method optional method used for measuring the value + * (e.g.\ from the given context group 'T_Method') + * @param derivation optional method of deriving or calculating the value + * (e.g.\ from the context group 'T_Derivation') + * @param check if enabled, check value for validity before setting it + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addMeasurement(const T_Measurement &conceptName, + const MeasurementValue &numericValue, + const T_Method &method = T_Method(), + const T_Derivation &derivation = T_Derivation(), + const OFBool check = OFTrue); + + + protected: + + /** create the mandatory root content item of this template, i.e.\ TID 1411 - Row 1. + * It is expected that the tree is currently empty. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition createMeasurementGroup(); + + /** add a new or replace an existing content item with a given node ID. + * If the content item does not exist, it is added to the measurement group, i.e. + * below the root node. If it does exist, both the 'valueType' and 'conceptName' + * are checked before replacing the value. However, the value is not replaced by + * this method. This is up to the caller after this method returned with success. + ** @param nodePos index of the list entry that stores the ID of the node + * to search for + * @param relationshipType relationship type of the content item to be added/replaced + * @param valueType value type of the content item to be added/replaced + * @param conceptName concept name of the content item to be added/replaced + * @param annotationText optional text used to annotate the content item + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addOrReplaceContentItem(const size_t nodePos, + const E_RelationshipType relationshipType, + const E_ValueType valueType, + const DSRCodedEntryValue &conceptName, + const OFString &annotationText, + const OFBool check); +}; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h b/dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h new file mode 100644 index 00000000..59813a65 --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/cmr/tid1500.h @@ -0,0 +1,290 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file for class TID1500_MeasurementReport + * + * Author: Joerg Riesmeier + * + */ + + +#ifndef CMR_TID1500_H +#define CMR_TID1500_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrrtpl.h" +#include "dcmtk/dcmsr/dsrstpl.h" + +#include "dcmtk/dcmsr/cmr/define.h" +#include "dcmtk/dcmsr/cmr/tid1001.h" +#include "dcmtk/dcmsr/cmr/tid1204.h" +#include "dcmtk/dcmsr/cmr/tid1411.h" +#include "dcmtk/dcmsr/cmr/tid1600.h" +#include "dcmtk/dcmsr/cmr/cid100.h" +#include "dcmtk/dcmsr/cmr/cid6147.h" +#include "dcmtk/dcmsr/cmr/cid7021.h" +#include "dcmtk/dcmsr/cmr/cid7181.h" +#include "dcmtk/dcmsr/cmr/cid7464.h" +#include "dcmtk/dcmsr/cmr/cid7469.h" + + +// include this file in doxygen documentation + +/** @file tid1500.h + * @brief Interface class and error constants for TID 1500 in module dcmsr/cmr + */ + + +/*------------------------* + * constant definitions * + *------------------------*/ + +/** @name specific error conditions for TID 1500 in module dcmsr/cmr + */ +//@{ + +/// error: there is no measurement report to add content items to +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoMeasurementReport; + +//@} + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Implementation of DCMR Template: + * TID 1500 - Measurement Report (and included templates 1204, 1001, 1600, 1411). + * All added content items are annotated with a text in the format "TID 1500 - Row [n]". + ** @note Please note that currently only the mandatory (and some optional/conditional) + * content items and included templates are supported. + */ +class DCMTK_CMR_EXPORT TID1500_MeasurementReport + : public DSRRootTemplate +{ + + public: + + // type definition + typedef TID1411_VolumetricROIMeasurements + TID1411_Measurements; + + /** (default) constructor. + * Also creates an initial, almost empty measurement report by calling + * createNewMeasurementReport(), but only if a non-empty 'title' is passed. + ** @param title optional document title to be set (from CID 7021 - Measurement + * Report Document Titles), i.e.\ the concept name of the root node + */ + TID1500_MeasurementReport(const CID7021_MeasurementReportDocumentTitles &title = CID7021_MeasurementReportDocumentTitles()); + + /** clear internal member variables. + * Also see notes on the clear() method of the base class. + */ + virtual void clear(); + + /** check whether the current internal state is valid. + * That means, check whether the base class is valid, the mandatory included + * templates TID 1204, 1001 and 1600 are valid, and whether hasProcedureReported() + * as well as hasImagingMeasurements() or hasQualitativeEvaluations() return true. + ** @return OFTrue if valid, OFFalse otherwise + */ + virtual OFBool isValid() const; + + /** check whether there are any 'Procedure reported' content items (TID 1500 - Row 4) + * in this measurement report. This content item is mandatory, i.e. one or more + * instances of the associated content item should be present. + ** @return OFTrue if at least one procedure reported is present, OFFalse otherwise + */ + OFBool hasProcedureReported() const; + + /** check whether there is an included 'Volumetric ROI Measurements' template + * (TID 1500 - Row 8) in this measurement report. Initially, this optional + * sub-template is created and included by the constructor of this class. After + * clear() has been called or no document title is passed to the constructor, it + * can be created again by calling createNewMeasurementReport(). + ** @param checkChildren optional flag indicating whether to also check for any + * children, i.e.\ whether the respective sub-template has + * any content (child nodes). By default, the presence of + * the "included template" content item is checked only. + ** @return OFTrue if volumetric ROI measurements are present, OFFalse otherwise + */ + OFBool hasVolumetricROIMeasurements(const OFBool checkChildren = OFFalse) const; + + /** check whether there is an 'Imaging Measurements' content item (TID 1500 - Row 6) + * in this measurement report. Initially, this conditional content item is created + * by the constructor of this class. After clear() has been called or no document + * title is passed to the constructor, it can be created again by calling + * createNewMeasurementReport(). + ** @param checkChildren optional flag indicating whether to also check for any + * children, i.e.\ whether the respective content item has + * child nodes. By default, the presence of the higher-level + * CONTAINER is checked only. + ** @return OFTrue if imaging measurements are present, OFFalse otherwise + */ + OFBool hasImagingMeasurements(const OFBool checkChildren = OFFalse) const; + + /** check whether there is an 'Qualitative Evaluations' content item (TID 1500 - + * Row 12) in this measurement report + ** @param checkChildren optional flag indicating whether to also check for any + * children, i.e.\ whether the respective content item has + * child nodes. By default, the presence of the higher-level + * CONTAINER is checked only. + ** @return OFTrue if qualitative evaluations are present, OFFalse otherwise + */ + OFBool hasQualitativeEvaluations(const OFBool checkChildren = OFFalse) const; + + /** get language of this report as defined by TID 1204 (Language of Content Item and + * Descendants). This included template is mandatory, i.e. should not be empty. + ** @return reference to internally managed SR template + */ + inline TID1204_LanguageOfContentItemAndDescendants &getLanguage() const + { + return *OFstatic_cast(TID1204_LanguageOfContentItemAndDescendants *, Language.get()); + } + + /** get observation context of this report as defined by TID 1001 (Observation + * Context). This included template is mandatory, i.e. should not be empty. + ** @return reference to internally managed SR template + */ + inline TID1001_ObservationContext &getObservationContext() const + { + return *OFstatic_cast(TID1001_ObservationContext *, ObservationContext.get()); + } + + /** get image library of this report as defined by TID 1600 (Image Library). + * This included template is mandatory, i.e. should not be empty. + ** @return reference to internally managed SR template + */ + inline TID1600_ImageLibrary &getImageLibrary() const + { + return *OFstatic_cast(TID1600_ImageLibrary *, ImageLibrary.get()); + } + + /** get volumetric ROI measurements of this report as defined by TID 1411 (Volumetric + * ROI Measurements), i.e.\ the current instance of TID 1500 - Row 8. + * This included template is optional, i.e. might be empty (but not absent). + * Further instances can be added by calling addVolumetricROIMeasurements(). + ** @return reference to internally managed SR template (current instance) + */ + inline TID1411_Measurements &getVolumetricROIMeasurements() const + { + return *OFstatic_cast(TID1411_Measurements *, VolumetricROIMeasurements.get()); + } + + /** get document title of this report, i.e.\ the concept name of the root node + ** @param titleCode coded entry that specifies the document title of this report + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getDocumentTitle(DSRCodedEntryValue &titleCode); + + /** create a new measurement report. + * Clear the report and create the mandatory (and other supported) content items of + * this template, i.e.\ TID 1500 - Row 1 to 6 and 8. + ** @param title document title to be set (from CID 7021 - Measurement Report + * Document Titles), i.e.\ the concept name of the root node + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition createNewMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title); + + /** set language of this report as defined by TID 1204 (Language of Content Item and + * Descendants) + ** @param language language of the report, being a language that is primarily + * used for human communication (from CID 5000 - Languages) + * @param country coded entry that describes the country-specific variant of + * 'language' (optional, from CID 5001 - Countries) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setLanguage(const CID5000_Languages &language, + const CID5001_Countries &country = CID5001_Countries(), + const OFBool check = OFTrue); + + /** add the imaging procedure whose results are reported (TID 1500 - Row 4). + * There should be at least a single instance of the associated content item. + ** @param procedure coded entry that describes the imaging procedure to be added + * (from CID 100 - Quantitative Diagnostic Imaging Procedures) + * @param check if enabled, check value for validity before setting it + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addProcedureReported(const CID100_QuantitativeDiagnosticImagingProcedures &procedure, + const OFBool check = OFTrue); + + /** create another instance of TID 1411 (Volumetric ROI Measurements) and add it as + * an included template to this report (TID 1500 - Row 8). A first instance of + * TID 1411 is created and added by calling createNewMeasurementReport(). Access + * to the current instance is available through getVolumetricROIMeasurements(). + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addVolumetricROIMeasurements(); + + /** add a qualitative evaluation related to the entire subject of the report as a + * coded entry (TID 1500 - Row 13). The higher-level CONTAINER (Row 12) is created + * automatically (if none is present). + ** @param conceptName coded entry to be set as the concept name + * @param codeValue coded entry to be set as the value of the new content item + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addQualitativeEvaluation(const DSRCodedEntryValue &conceptName, + const DSRCodedEntryValue &codeValue, + const OFBool check = OFTrue); + + /** add a qualitative evaluation related to the entire subject of the report in + * text form (TID 1500 - Row 14). The higher-level CONTAINER (Row 12) is created + * automatically (if none is present). + ** @param conceptName coded entry to be set as the concept name + * @param stringValue character string to be set as the value of the content item + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition addQualitativeEvaluation(const DSRCodedEntryValue &conceptName, + const OFString &stringValue, + const OFBool check = OFTrue); + + + protected: + + /** create the mandatory (and other supported) content items of this template, + * i.e.\ TID 1500 - Row 1 to 6 and 8. It is expected that the tree is currently + * empty. + ** @param title coded entry that specifies the document title to be set + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition createMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title); + + /** create the 'Qualitative Evaluations' content item (TID 1500 - Row 12) if not + * existing yet + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition createQualitativeEvaluations(); + + + private: + + // shared pointer to included template "Language of Content Item and Descendants" (TID 1204) + DSRSharedSubTemplate Language; + // shared pointer to included template "Observation Context" (TID 1001) + DSRSharedSubTemplate ObservationContext; + // shared pointer to included template "Image Library" (TID 1600) + DSRSharedSubTemplate ImageLibrary; + // shared pointer to included template "Volumetric ROI Measurements" (TID 1411) + DSRSharedSubTemplate VolumetricROIMeasurements; +}; + + +/*--------------------* + * type definitions * + *--------------------*/ + +// define short names for the SR template classes +typedef TID1500_MeasurementReport CMR_TID1500; +typedef TID1500_MeasurementReport::TID1411_Measurements CMR_TID1411_in_TID1500; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h b/dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h index 75eaca61..e9b6f701 100644 --- a/dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h +++ b/dcmsr/include/dcmtk/dcmsr/cmr/tid1600.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file for class TID1600_ImageLibrary @@ -18,20 +18,40 @@ #include "dcmtk/dcmsr/dsrstpl.h" #include "dcmtk/dcmsr/cmr/define.h" +#include "dcmtk/dcmsr/cmr/cid4020.h" +#include "dcmtk/dcmsr/cmr/cid4021.h" +#include "dcmtk/dcmsr/cmr/srnumvl.h" -/*-----------------------* +// include this file in doxygen documentation + +/** @file tid1600.h + * @brief Interface class and error constants for TID 1600 in module dcmsr/cmr + */ + + +/*------------------------* * constant definitions * - *-----------------------*/ + *------------------------*/ /** @name specific error conditions for TID 1600 in module dcmsr/cmr */ //@{ +/// error: there is no image library to add image groups to +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibrary; /// error: there is no image library group to add image entries to extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibraryGroup; +/// error: there is no image library entry to add descriptors to +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibraryEntry; /// error: cannot add multiple image library entry descriptors (see TID 1600 Row 3) extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors; +/// error: the current (most recently added) image library entry has no modality descriptor +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_MissingImageLibraryEntryDescriptorModality; +/// error: the current (most recently added) image library entry has the wrong modality descriptor +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_WrongImageLibraryEntryDescriptorModality; +/// normal: there are no image library entry descriptors to be added (copied from the dataset) +extern DCMTK_CMR_EXPORT const OFConditionConst CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded; //@} @@ -62,9 +82,36 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary withAllDescriptors }; - /** default constructor + /** (default) constructor + ** @param createLibrary flag indicating whether to create an empty image library + * by calling createImageLibrary() during startup (default) + */ + TID1600_ImageLibrary(const OFBool createLibrary = OFTrue); + + /** check whether the current internal state is valid. + * That means, whether the base class is valid and hasImageLibrary() returns true. + ** @return OFTrue if valid, OFFalse otherwise + */ + virtual OFBool isValid() const; + + /** check whether the content item 'Image Library' (TID 1600 - Row 1) is present. + * Initially, this mandatory content item is created by the constructor of this + * class (if not disabled). After clear() has been called, it can be created again + * by calling createNewImageLibrary(). + ** @return OFTrue if the image library is present, OFFalse otherwise + */ + OFBool hasImageLibrary() const; + + /** check whether there is an image group in this image library (TID 1600 - Row 2) + ** @return OFTrue if at least one image group is present, OFFalse otherwise + */ + OFBool hasImageLibraryGroup() const; + + /** clear the internally stored tree of content items and create the mandatory + * content item 'Image Library' (TID 1600 - Row 1) as the root node of this template + ** @return status, EC_Normal if successful, an error code otherwise */ - TID1600_ImageLibrary(); + OFCondition createNewImageLibrary(); /** add an image group to the image library ** @return status, EC_Normal if successful, an error code otherwise @@ -74,6 +121,8 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary /** add an image entry to the current image group, i.e.\ add content items for * TID 1601 (Image Library Entry). The values of the content items (including * the image reference) are copied from the data elements of the given 'dataset'. + * If no descriptors were added, CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded + * is returned. ** @param dataset DICOM dataset from which the values should be copied * @param mode mode specifying which optional content items are to be added * @param check if enabled, check values for validity before setting them @@ -84,10 +133,11 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary const AddImageMode mode = withoutDescriptors, const OFBool check = OFTrue); - /** add an image entry descriptors to the current image group, i.e.\ add content + /** add image entry descriptors to the current image group, i.e.\ add content * items for TID 1602 (Image Library Entry Descriptors) and included templates. * The values of the content items are copied from the data elements of the given - * 'dataset'. + * 'dataset'. If none were added, CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded + * is returned. * Please note that this method should only be called once for each image group. ** @param dataset DICOM dataset from which the values should be copied * @param check if enabled, check values for validity before setting them @@ -97,9 +147,93 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary OFCondition addImageEntryDescriptors(DcmItem &dataset, const OFBool check = OFTrue); + /** go to the most recently added image library entry and get the value of the + * descriptor 'Modality' (TID 1602 - Row 1) + ** @param modalityCode reference to coded entry that will store the result + * (cleared if an error occurs) + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition getImageEntryModality(DSRCodedEntryValue &modalityCode); + + // --- set modality-specific content manually --- + + /** set the value of the descriptor 'Radionuclide' (TID 1607 - Row 1) for the current + * (most recently added) PET image library entry. + * If the content item already exists, its value is overwritten. Otherwise, a new + * content item is added to the end of the list of image library entry descriptors. + ** @param radionuclide coded entry to be set (from CID 4020 - PET Radionuclide) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPETImageRadionuclide(const CID4020_PETRadionuclide &radionuclide, + const OFBool check = OFTrue); + + /** set the value of the descriptor 'Radiopharmaceutical Agent' (TID 1607 - Row 2) + * for the current (most recently added) PET image library entry. + * If the content item already exists, its value is overwritten. Otherwise, a new + * content item is added to the end of the list of image library entry descriptors. + ** @param agent coded entry to be set (from CID 4021 - PET Radiopharmaceutical) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPETImageRadiopharmaceuticalAgent(const CID4021_PETRadiopharmaceutical &agent, + const OFBool check = OFTrue); + + /** set the value of the descriptor 'Radiopharmaceutical Start Date Time' (TID 1607 - + * Row 4) for the current (most recently added) PET image library entry. + * If the content item already exists, its value is overwritten. Otherwise, a new + * content item is added to the end of the list of image library entry descriptors. + ** @param dateTime date/time value to be set (associated DICOM VR=DT) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPETImageRadiopharmaceuticalStartDateTime(const OFString &dateTime, + const OFBool check = OFTrue); + + /** set the value of the descriptor 'Radiopharmaceutical Stop Date Time' (TID 1607 - + * Row 5) for the current (most recently added) PET image library entry. + * If the content item already exists, its value is overwritten. Otherwise, a new + * content item is added to the end of the list of image library entry descriptors. + ** @param dateTime date/time value to be set (associated DICOM VR=DT) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPETImageRadiopharmaceuticalStopDateTime(const OFString &dateTime, + const OFBool check = OFTrue); + + /** set the value of the descriptor 'Radiopharmaceutical Volume' (TID 1607 - Row 6) + * for the current (most recently added) PET image library entry. + * If the content item already exists, its value is overwritten. Otherwise, a new + * content item is added to the end of the list of image library entry descriptors. + ** @param volume numeric measurement value to be set (measurement unit should be + * CODE_UCUM_cm3 or a coded entry that is identical to this) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPETImageRadiopharmaceuticalVolume(const CMR_SRNumericMeasurementValue &volume, + const OFBool check = OFTrue); + + /** set the value of the descriptor 'Radiopharmaceutical Total Dose' (TID 1607 - + * Row 7) for the current (most recently added) PET image library entry. + * If the content item already exists, its value is overwritten. Otherwise, a new + * content item is added to the end of the list of image library entry descriptors. + ** @param totalDose numeric measurement value to be set (measurement unit should + * be CODE_UCUM_Bq or a coded entry that is identical to this) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setPETImageRadionuclideTotalDose(const CMR_SRNumericMeasurementValue &totalDose, + const OFBool check = OFTrue); + protected: + /** create the mandatory content item 'Image Library' (TID 1600 - Row 1) as the root + * node of this template. It is expected that the tree is currently empty. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition createImageLibrary(); + /** add image library entry descriptors (TID 1602) to given document subtree. * This method also calls addModalitySpecificDescriptors() in order to add the * included templates (TID 1603 to 1607). @@ -169,7 +303,7 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary const OFBool check); /** add image library entry descriptors for PET (TID 1607). - * @note The template rows 9 to 14 are not yet supported by this method. + * @note The template rows 10 to 15 are not yet supported by this method. ** @param tree subtree to which the content items should be added * @param dataset DICOM dataset from which the values should be copied * @param check if enabled, check values for validity before setting them @@ -179,6 +313,62 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary DcmItem &dataset, const OFBool check); + /** go to the most recently added image library entry and check the value of the + * descriptor 'Modality' (TID 1602 - Row 1) + ** @param modalityCode coded entry (from CID 29) associated with the modality. + * Used to check the image library entry. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition goAndCheckImageLibraryEntry(const DSRCodedEntryValue &modalityCode); + + /** search for a particular content item (given by the concept name and value type) + * and set its string value. If not found, a new content item is added to the + * current position and the value is set. + ** @param valueType value type of the content item to be set/added + * @param conceptName concept name of the content item to be set/added + * @param stringValue string value of the content item to be set/added + * @param annotationText text used to annotate the content item (might be empty) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setStringContentItemFromValue(const E_ValueType valueType, + const DSRCodedEntryValue &conceptName, + const OFString &stringValue, + const OFString &annotationText, + const OFBool check); + + /** search for a particular CODE content item (given by the concept name) and set its + * coded entry value. If not found, a new content item is added to the current + * position and the value is set. + ** @param conceptName concept name of the content item to be set/added + * @param codeValue coded entry value of the content item to be set/added + * @param annotationText text used to annotate the content item (might be empty) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setCodeContentItemFromValue(const DSRCodedEntryValue &conceptName, + const DSRCodedEntryValue &codeValue, + const OFString &annotationText, + const OFBool check); + + /** search for a particular NUM content item (given by the concept name) and set its + * numeric measurement value. If not found, a new content item is added to the + * current position and the value is set. + ** @param conceptName concept name of the content item to be set/added + * @param numericValue numeric measurement value of the content item to be + * set/added + * @param measurementUnit measurement unit that should be used by 'numericValue' + * (optional, might be empty). Used for checking purposes. + * @param annotationText text used to annotate the content item (might be empty) + * @param check if enabled, check values for validity before setting them + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setNumericContentItemFromValue(const DSRCodedEntryValue &conceptName, + const DSRNumericMeasurementValue &numericValue, + const DSRCodedEntryValue &measurementUnit, + const OFString &annotationText, + const OFBool check); + // --- static helper functions --- /** add a content item with a string value copied from the given dataset. @@ -204,7 +394,7 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary const OFString &annotationText, const OFBool check); - /** add a content item with a coded entry value copied from the given dataset. + /** add a CODE content item with a coded entry value copied from the given dataset. * The content item is only created and added to the subtree if the specified code * sequence is present in the 'dataset' and its value is valid (not empty). ** @param tree subtree to which the content items should be added @@ -223,7 +413,7 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary const OFString &annotationText, const OFBool check); - /** add a content item with a numeric value copied from the given dataset. + /** add a NUM content item with a numeric value copied from the given dataset. * The content item is only created and added to the subtree if the specified data * element is present in the 'dataset' and its value (retrieved as a string) is not * empty. @@ -247,8 +437,15 @@ class DCMTK_CMR_EXPORT TID1600_ImageLibrary const DSRCodedEntryValue &measurementUnit, const OFString &annotationText, const OFBool check); - }; +/*-------------------* + * type definition * + *-------------------*/ + +// define short name for the SR template class +typedef TID1600_ImageLibrary CMR_TID1600; + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/codes/dcm.h b/dcmsr/include/dcmtk/dcmsr/codes/dcm.h index e56cc788..7654c105 100644 --- a/dcmsr/include/dcmtk/dcmsr/codes/dcm.h +++ b/dcmsr/include/dcmtk/dcmsr/codes/dcm.h @@ -1,12 +1,13 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Header file with DICOM Code Definitions (Coding Scheme "DCM", Version "01") * * Generated automatically from DICOM PS 3.16-2015c * File created on 2015-08-23 14:58:58 by J. Riesmeier + * Last modified on 2016-01-25 by Riesmeier * */ @@ -3204,4 +3205,9 @@ #define CODE_DCM_IEC61217GantryContinuousPitchAngle DSRBasicCodedEntry("126810", "DCM", "IEC61217 Gantry Continuous Pitch Angle") #define CODE_DCM_IEC61217GantryContinuousYawAngle DSRBasicCodedEntry("126811", "DCM", "IEC61217 Gantry Continuous Yaw Angle") +// recently approved correction items + +#define CODE_DCM_StationAETitle DSRBasicCodedEntry("110119", "DCM", "Station AE Title") // added from CP-1516 + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/codes/ncit.h b/dcmsr/include/dcmtk/dcmsr/codes/ncit.h new file mode 100644 index 00000000..40ea784d --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/codes/ncit.h @@ -0,0 +1,53 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Header file with NCIt Code Definitions (Coding Scheme "NCIt") + * + * Generated semi-automatically from DICOM PS 3.16-2015c + * File created on 2016-01-12 18:02:09 by J. Riesmeier + * + */ + + +#ifndef CODES_NCIT_H +#define CODES_NCIT_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrcodvl.h" + + +/*-----------------------* + * general information * + *-----------------------*/ + +#define CODE_NCIt_CodingSchemeDesignator "NCIt" +#define CODE_NCIt_CodingSchemeName "NCIt" +#define CODE_NCIt_CodingSchemeDescription "NCI Thesaurus" +#define CODE_NCIt_CodingSchemeUID "2.16.840.1.113883.3.26.1.1" + + +/*--------------------* + * code definitions * + *--------------------*/ + +// total number of codes: 2 +// - retired: 0 +// - no name: 0 +// - not unique: 0 + +// The basic scheme for creating the names is as follows: +// 'CODE_' + + ['_RETIRED'] + '_' + +// where is "NCIt" and is either +// - a cleaned camel-case version of the code meaning (if unique within this coding scheme) or +// - a cleaned camel-case version of the code meaning with an underscore and the code value appended or +// - simply the code value with an underscore character appended (if code meaning contains an equation). +// The "cleaned camel-case version of the code meaning" is an attempt to map the free text +// description of the code meaning to a compiler-friendly but still human-readable representation. + +#define CODE_NCIt_RANO DSRBasicCodedEntry("C114879", "NCIt", "RANO") +#define CODE_NCIt_ActivitySession DSRBasicCodedEntry("C67447", "NCIt", "Activity Session") // added from CP-1466 + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/codes/srt.h b/dcmsr/include/dcmtk/dcmsr/codes/srt.h index e303995d..081764f7 100644 --- a/dcmsr/include/dcmtk/dcmsr/codes/srt.h +++ b/dcmsr/include/dcmtk/dcmsr/codes/srt.h @@ -1,11 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * * Header file with SNOMED-RT Code Definitions (Coding Scheme "SRT") * * Generated semi-automatically from DICOM PS 3.16-2015c * File created on 2015-08-24 by J. Riesmeier + * Last modified on 2016-01-23 by Riesmeier * */ @@ -42,8 +43,19 @@ // description of the code meaning to a compiler-friendly but still human-readable representation. #define CODE_SRT_Radionuclide DSRBasicCodedEntry("C-10072", "SRT", "Radionuclide") +#define CODE_SRT_18_Fluorine DSRBasicCodedEntry("C-111A1", "SRT", "^18^Fluorine") +#define CODE_SRT_Fluorodeoxyglucose_F18 DSRBasicCodedEntry("C-B1031", "SRT", "Fluorodeoxyglucose F^18^") #define CODE_SRT_RadiopharmaceuticalAgent DSRBasicCodedEntry("F-61FDB", "SRT", "Radiopharmaceutical agent") -#define CODE_SRT_HalfLifeOfRadiopharmaceutical DSRBasicCodedEntry("R-42806", "SRT", "Half-life of radiopharmaceutical") +#define CODE_SRT_MeasurementMethod DSRBasicCodedEntry("G-C036", "SRT", "Measurement Method") +#define CODE_SRT_FindingSite DSRBasicCodedEntry("G-C0E3", "SRT", "Finding Site") #define CODE_SRT_RouteOfAdministration DSRBasicCodedEntry("G-C340", "SRT", "Route of Administration") +#define CODE_SRT_Neoplasm_Primary DSRBasicCodedEntry("M-80003", "SRT", "Neoplasm, Primary") +#define CODE_SRT_Neoplasm_Secondary DSRBasicCodedEntry("M-80006", "SRT", "Neoplasm, Secondary") +#define CODE_SRT_HalfLifeOfRadiopharmaceutical DSRBasicCodedEntry("R-42806", "SRT", "Half-life of radiopharmaceutical") +#define CODE_SRT_AorticArch DSRBasicCodedEntry("T-42300", "SRT", "Aortic arch") +#define CODE_SRT_Liver_T62000 DSRBasicCodedEntry("T-62000", "SRT", "Liver") +#define CODE_SRT_Liver_T62002 DSRBasicCodedEntry("T-62002", "SRT", "Liver") +#define CODE_SRT_Cerebellum DSRBasicCodedEntry("T-A6000", "SRT", "Cerebellum") +#define CODE_SRT_LymphNode DSRBasicCodedEntry("T-C4000", "SRT", "Lymph node") #endif diff --git a/dcmsr/include/dcmtk/dcmsr/codes/ucum.h b/dcmsr/include/dcmtk/dcmsr/codes/ucum.h index ef865301..d057e647 100644 --- a/dcmsr/include/dcmtk/dcmsr/codes/ucum.h +++ b/dcmsr/include/dcmtk/dcmsr/codes/ucum.h @@ -1,11 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * * Header file with UCUM Code Definitions (Coding Scheme "UCUM") * * Generated semi-automatically from DICOM PS 3.16-2015c * File created on 2015-08-24 by J. Riesmeier + * Last modified on 2016-01-23 by Riesmeier * */ @@ -42,15 +43,16 @@ // description of the code meaning to a compiler-friendly but still human-readable representation. #define CODE_UCUM_Pixels DSRBasicCodedEntry("{pixels}", "UCUM", "pixels") -#define CODE_UCUM_Degrees DSRBasicCodedEntry("deg", "UCUM", "degrees") +#define CODE_UCUM_Degrees DSRBasicCodedEntry("deg", "UCUM", "deg") #define CODE_UCUM_Minus1To1 DSRBasicCodedEntry("{-1:1}", "UCUM", "{-1:1}") #define CODE_UCUM_Millimeter DSRBasicCodedEntry("mm", "UCUM", "millimeter") -#define CODE_UCUM_Cm3 DSRBasicCodedEntry("cm3", "UCUM", "cm3") -#define CODE_UCUM_S DSRBasicCodedEntry("s", "UCUM", "s") -#define CODE_UCUM_Min DSRBasicCodedEntry("min", "UCUM", "min") +#define CODE_UCUM_cm3 DSRBasicCodedEntry("cm3", "UCUM", "cm3") +#define CODE_UCUM_ml DSRBasicCodedEntry("ml", "UCUM", "ml") +#define CODE_UCUM_s DSRBasicCodedEntry("s", "UCUM", "s") +#define CODE_UCUM_min DSRBasicCodedEntry("min", "UCUM", "min") #define CODE_UCUM_Bq DSRBasicCodedEntry("Bq", "UCUM", "Bq") #define CODE_UCUM_BqPerMol DSRBasicCodedEntry("Bq/mol", "UCUM", "Bq/mol") -#define CODE_UCUM_MmolPerL DSRBasicCodedEntry("mmol/l", "UCUM", "mmol/l") +#define CODE_UCUM_mmolPerL DSRBasicCodedEntry("mmol/l", "UCUM", "mmol/l") #define CODE_UCUM_CountsPerSecond DSRBasicCodedEntry("{counts}/s", "UCUM", "Counts per second") #endif diff --git a/dcmsr/include/dcmtk/dcmsr/codes/umls.h b/dcmsr/include/dcmtk/dcmsr/codes/umls.h new file mode 100644 index 00000000..047bc516 --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/codes/umls.h @@ -0,0 +1,72 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * + * Header file with UMLS Code Definitions (Coding Scheme "UMLS") + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2015-08-23 14:59:04 by J. Riesmeier + * + */ + + +#ifndef CODES_UMLS_H +#define CODES_UMLS_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrcodvl.h" + + +/*-----------------------* + * general information * + *-----------------------*/ + +#define CODE_UMLS_CodingSchemeDesignator "UMLS" +#define CODE_UMLS_CodingSchemeName "UMLS" +#define CODE_UMLS_CodingSchemeDescription "UMLS codes as CUIs making up the values in a coding system" +#define CODE_UMLS_CodingSchemeUID "2.16.840.1.113883.6.86" + + +/*--------------------* + * code definitions * + *--------------------*/ + +// total number of codes: 22 +// - retired: 0 +// - no name: 0 +// - not unique: 0 + +// The basic scheme for creating the names is as follows: +// 'CODE_' + + ['_RETIRED'] + '_' + +// where is "UMLS" and is either +// - a cleaned camel-case version of the code meaning (if unique within this coding scheme) or +// - a cleaned camel-case version of the code meaning with an underscore and the code value appended or +// - simply the code value with an underscore character appended (if code meaning contains an equation). +// The "cleaned camel-case version of the code meaning" is an attempt to map the free text +// description of the code meaning to a compiler-friendly but still human-readable representation. + +#define CODE_UMLS_QualitativeEvaluations DSRBasicCodedEntry("C0034375", "UMLS", "Qualitative Evaluations") +#define CODE_UMLS_UnknownPrimaryNeoplasiaSite DSRBasicCodedEntry("C0221297", "UMLS", "unknown primary neoplasia site") +#define CODE_UMLS_CoefficientOfVariance DSRBasicCodedEntry("C0681921", "UMLS", "Coefficient of Variance") +#define CODE_UMLS_Intern DSRBasicCodedEntry("C1144859", "UMLS", "Intern") +#define CODE_UMLS_ConsultingPhysician DSRBasicCodedEntry("C1441532", "UMLS", "Consulting Physician") +#define CODE_UMLS_Baseline DSRBasicCodedEntry("C1442488", "UMLS", "Baseline") +#define CODE_UMLS_Fluoroetanidazole_F18 DSRBasicCodedEntry("C1541539", "UMLS", "Fluoroetanidazole F^18^") +#define CODE_UMLS_Unscheduled DSRBasicCodedEntry("C1699701", "UMLS", "Unscheduled") +#define CODE_UMLS_Nadir DSRBasicCodedEntry("C1708760", "UMLS", "Nadir") +#define CODE_UMLS_MedicalPhysicist DSRBasicCodedEntry("C1708969", "UMLS", "Medical Physicist") +#define CODE_UMLS_Referring DSRBasicCodedEntry("C1709880", "UMLS", "Referring") +#define CODE_UMLS_Variance DSRBasicCodedEntry("C1711260", "UMLS", "Variance") +#define CODE_UMLS_Tyrosine3Octreotate_Ga68 DSRBasicCodedEntry("C1742831", "UMLS", "tyrosine-3-octreotate Ga^68^") +#define CODE_UMLS_Fluoroestradiol_FES_F18 DSRBasicCodedEntry("C1831937", "UMLS", "Fluoroestradiol (FES) F^18^") +#define CODE_UMLS_Sonographer DSRBasicCodedEntry("C1954848", "UMLS", "Sonographer") +#define CODE_UMLS_RootMeanSquare DSRBasicCodedEntry("C2347976", "UMLS", "Root Mean Square") +#define CODE_UMLS_TimePoint DSRBasicCodedEntry("C2348792", "UMLS", "Time Point") +#define CODE_UMLS_Edotreotide_Ga68 DSRBasicCodedEntry("C2713594", "UMLS", "Edotreotide Ga^68^") +#define CODE_UMLS_FluoropropylDihydrotetrabenazine_DTBZ_F18 DSRBasicCodedEntry("C2934038", "UMLS", "Fluoropropyl-dihydrotetrabenazine (DTBZ) F^18^") +#define CODE_UMLS_ISO1_F18 DSRBasicCodedEntry("C2981788", "UMLS", "ISO-1 F^18^") +#define CODE_UMLS_RadiationPhysicist DSRBasicCodedEntry("C2985483", "UMLS", "Radiation Physicist") +#define CODE_UMLS_Pretreatment DSRBasicCodedEntry("C3539075", "UMLS", "Pretreatment") + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsdefine.h b/dcmsr/include/dcmtk/dcmsr/dsdefine.h index f123d4c1..08c80714 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsdefine.h +++ b/dcmsr/include/dcmtk/dcmsr/dsdefine.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2012-2014, OFFIS e.V. + * Copyright (C) 2012-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -34,5 +34,13 @@ #define DCMTK_DCMSR_EXPORT DCMTK_DECL_IMPORT #endif +#ifndef DCMTK_EXPLICIT_SPECIALIZATION +#ifdef HAVE_EXPLICIT_TEMPLATE_SPECIALIZATION +#define DCMTK_EXPLICIT_SPECIALIZATION template<> +#else +#define DCMTK_EXPLICIT_SPECIALIZATION +#endif +#endif + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsracqcc.h b/dcmsr/include/dcmtk/dcmsr/dsracqcc.h new file mode 100644 index 00000000..da6b2b15 --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/dsracqcc.h @@ -0,0 +1,95 @@ +/* + * + * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmsr + * + * Author: Joerg Riesmeier + * + * Purpose: + * classes: DSRAcquisitionContextConstraintChecker + * + */ + + +#ifndef DSRACQCC_H +#define DSRACQCC_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsriodcc.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Class for checking the relationship content constraints of the Acquisition Context + * SR IOD. + * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 8001 + * (Preclinical Small Animal Image Acquisition Context) invoked at the root node. + * Note: This IOD may be used with other Templates defined for Acquisition Context." + */ +class DCMTK_DCMSR_EXPORT DSRAcquisitionContextConstraintChecker + : public DSRIODConstraintChecker +{ + + public: + + /** default constructor + */ + DSRAcquisitionContextConstraintChecker(); + + /** destructor + */ + virtual ~DSRAcquisitionContextConstraintChecker(); + + /** check whether by-reference relationships are allowed for this SR IOD + ** @return always returns OFFalse, i.e. by-reference relationships are not allowed + */ + virtual OFBool isByReferenceAllowed() const; + + /** check whether this SR IOD requires template support + ** @return always returns OFFalse, i.e. template support is not required + */ + virtual OFBool isTemplateSupportRequired() const; + + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; + + /** get the associated document type of the SR IOD + ** @return document type (DSRTypes::DT_AcquisitionContextSR) + */ + virtual E_DocumentType getDocumentType() const; + + /** check whether specified content relationship is allowed for this IOD + ** @param sourceValueType value type of the source content item to be checked + * @param relationshipType type of relationship between source and target item + * @param targetValueType value type of the target content item to be checked + * @param byReference optional flag indicating whether the node/relationship + * should be added by-value (default) or by-reference + ** @return OFTrue if content relationship is allowed, OFFalse otherwise + */ + virtual OFBool checkContentRelationship(const E_ValueType sourceValueType, + const E_RelationshipType relationshipType, + const E_ValueType targetValueType, + const OFBool byReference = OFFalse) const; +}; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrbascc.h b/dcmsr/include/dcmtk/dcmsr/dsrbascc.h index 534c4e28..2d9e599c 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrbascc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrbascc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -59,10 +59,14 @@ class DCMTK_DCMSR_EXPORT DSRBasicTextSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return always returns NULL (no template required) + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_BasicTextSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h b/dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h index ddfee7b7..e2c75179 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrc3dcc.h @@ -59,10 +59,14 @@ class DCMTK_DCMSR_EXPORT DSRComprehensive3DSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return always returns NULL (no template required) + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_Comprehensive3DSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrchecc.h b/dcmsr/include/dcmtk/dcmsr/dsrchecc.h index 9fe63f04..b1b775c6 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrchecc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrchecc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,7 +33,11 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the Chest CAD SR IOD +/** Class for checking the relationship content constraints of the Chest CAD SR IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 4100 + * (Chest CAD Document Root) invoked at the root node. When a content item sub-tree + * from a prior document is duplicated by-value, its observation context shall be + * defined by TID 1001 (Observation Context) and its subordinate templates." */ class DCMTK_DCMSR_EXPORT DSRChestCadSRConstraintChecker : public DSRIODConstraintChecker @@ -59,10 +63,14 @@ class DCMTK_DCMSR_EXPORT DSRChestCadSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "4100" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_ChestCadSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h b/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h index 9cd46063..0a61c88a 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcodvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -198,7 +198,7 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue */ DSRCodedEntryValue &operator=(const DSRCodedEntryValue &codedEntryValue); - /** comparison operator. + /** comparison operator "equal". * Two codes are equal if the code value, coding scheme designator and the (optional) * coding scheme version are equal. The code meaning is not relevant for this check. ** @param codedEntryValue code which should be compared to the current one @@ -206,7 +206,16 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue */ OFBool operator==(const DSRCodedEntryValue &codedEntryValue) const; - /** comparison operator. + /** comparison operator "not equal". + * Two codes are not equal if either the code value or the coding scheme designator + * or the (optional) coding scheme version are not equal. The code meaning is not + * relevant for this check. + ** @param codedEntryValue code which should be compared to the current one + ** @return OFTrue if both codes are not equal, OFFalse otherwise + */ + OFBool operator!=(const DSRCodedEntryValue &codedEntryValue) const; + + /** comparison operator "equal". * Two codes are equal if the code value, coding scheme designator and the (optional) * coding scheme version are equal. The code meaning is not relevant for this check. ** @param basicCodedEntry code which should be compared to the current one @@ -214,6 +223,15 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue */ OFBool operator==(const DSRBasicCodedEntry &basicCodedEntry) const; + /** comparison operator "not equal". + * Two codes are not equal if either the code value or the coding scheme designator + * or the (optional) coding scheme version are not equal. The code meaning is not + * relevant for this check. + ** @param basicCodedEntry code which should be compared to the current one + ** @return OFTrue if both codes are not equal, OFFalse otherwise + */ + OFBool operator!=(const DSRBasicCodedEntry &basicCodedEntry) const; + /** clear all internal variables. * Since an empty code is invalid the code becomes invalid afterwards. */ @@ -231,6 +249,14 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue */ virtual OFBool isEmpty() const; + /** check whether the current code is complete, i.e.\ whether the three mandatory + * components of the code are non-empty. This is just a basic check that might be useful + * for "validating" input data. See isValid() for a more sophisticated way of checking + * the current code. + ** @return OFTrue if code is complete, OFFalse otherwise + */ + virtual OFBool isComplete() const; + /** print code. * The output of a typical code triple looks like this: (1234,99_OFFIS_DCMTK,"Code * Meaning"). The optional coding scheme version is printed in square brackets directly @@ -710,4 +736,15 @@ class DCMTK_DCMSR_EXPORT DSRCodedEntryValue }; +/** output stream operator for coded entry values. + * Internally, the DSRCodedEntryValue::print() method is used, i.e. the output looks + * like this: (1234,99_OFFIS_DCMTK,"Code Meaning") or (cm,UCUM[1.4],"centimeter") + * @param stream output stream to which the coded entry value is printed + * @param codedEntryValue coded entry value to be printed + * @return reference to output stream + */ +DCMTK_DCMSR_EXPORT STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream, + const DSRCodedEntryValue& codedEntryValue); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h b/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h index 77c19019..7daa2424 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcolcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2014, OFFIS e.V. + * Copyright (C) 2010-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,7 +33,9 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the Colon CAD SR IOD +/** Class for checking the relationship content constraints of the Colon CAD SR IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 4120 + * (Colon CAD Document Root) invoked at the root node." */ class DCMTK_DCMSR_EXPORT DSRColonCadSRConstraintChecker : public DSRIODConstraintChecker @@ -59,10 +61,14 @@ class DCMTK_DCMSR_EXPORT DSRColonCadSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "4120" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_ColonCadSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcomcc.h b/dcmsr/include/dcmtk/dcmsr/dsrcomcc.h index cdada30d..d35a8ca1 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcomcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcomcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -59,10 +59,14 @@ class DCMTK_DCMSR_EXPORT DSRComprehensiveSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return always returns NULL (no template required) + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_ComprehensiveSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h b/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h index 179de0b0..896c7c1a 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrcomvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -89,11 +89,19 @@ class DCMTK_DCMSR_EXPORT DSRCompositeReferenceValue virtual OFBool isValid() const; /** check whether the current reference value is empty. - * Checks whether both UIDs of the reference value are empty. + * Checks whether both mandatory UIDs of the reference value are empty. ** @return OFTrue if value is empty, OFFalse otherwise */ virtual OFBool isEmpty() const; + /** check whether the current reference value is complete, i.e.\ whether both + * mandatory UIDs are non-empty. This is just a basic check that might be useful + * for "validating" input data. See isValid() for a more sophisticated way of + * checking the current reference value. + ** @return OFTrue if value is complete, OFFalse otherwise + */ + virtual OFBool isComplete() const; + /** print reference value. * The output of a typical composite reference value looks like this: (BasicTextSR,"1.2.3"). * If the SOP class UID is unknown, the UID is printed instead of the related name. @@ -168,6 +176,13 @@ class DCMTK_DCMSR_EXPORT DSRCompositeReferenceValue return SOPClassUID; } + /** get name associated with the SOP class UID (if any) + ** @param defaultName string value that is returned if the SOP class UID is unknown + ** @return name associated with the current SOP class UID (might be empty, e.g. in case + * the SOP class UID is empty or 'defaultName' is an empty string) + */ + const OFString getSOPClassName(const OFString &defaultName = "unknown SOP Class UID") const; + /** get SOP instance UID ** @return current SOP instance UID (might be invalid or an empty string) */ diff --git a/dcmsr/include/dcmtk/dcmsr/dsrctpl.h b/dcmsr/include/dcmtk/dcmsr/dsrctpl.h index 4b0e797a..4ab55f45 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrctpl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrctpl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -27,6 +27,7 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmsr/dsrtypes.h" +#include "dcmtk/dcmsr/dsrdoctn.h" /*-----------------------* @@ -48,6 +49,10 @@ class DCMTK_DCMSR_EXPORT DSRTemplateCommon public: + /** clear non-static member variables + */ + virtual void clear(); + /** check whether template identification is set ** @return OFTrue if set, OFFalse otherwise */ @@ -68,6 +73,17 @@ class DCMTK_DCMSR_EXPORT DSRTemplateCommon return ExtensibleMode; } + /** compare template identification with given values + ** @param templateIdentifier template identifier to compare with + * @param mappingResource mapping resource that defines the template + * @param mappingResourceUID uniquely identifies the mapping resource (optional). + * Not used for comparison if the value is empty. + ** @result OFTrue if template identification is identical, OFFalse otherwise + */ + virtual OFBool compareTemplateIdentication(const OFString &templateIdentifier, + const OFString &mappingResource, + const OFString &mappingResourceUID = "") const; + /** get template identifier ** @return identifier of the template */ @@ -116,11 +132,19 @@ class DCMTK_DCMSR_EXPORT DSRTemplateCommon */ virtual ~DSRTemplateCommon(); + /** clear all entries in the list of node IDs, i.e.\ set them to their initial value, + * which is 0 + */ + void clearEntriesInNodeList(); + /** reserve a certain number of entries in the list of node IDs. Using this method * can help to avoid unwanted memory allocations and copying of list entries. - ** @param count number of entries to be reserved (for later use) + ** @param count number of entries to be reserved (for later use) + * @param initialize initialize all entries with a value of 0 if OFTrue, just + * reserve but do not create them otherwise (default) */ - void reserveEntriesInNodeList(const size_t count); + void reserveEntriesInNodeList(const size_t count, + const OFBool initialize = OFFalse); /** store given entry at a certain position in the list of node IDs ** @param pos index of the list entry to use for storage (starting from 0) @@ -135,6 +159,15 @@ class DCMTK_DCMSR_EXPORT DSRTemplateCommon */ size_t getEntryFromNodeList(const size_t pos) const; + /** set given cursor to a specific node + ** @param cursor reference to document tree node cursor that is used to start + * searching the node from and that is set afterwards + * @param pos index of the list entry that stores the ID of the node + ** @return ID of the new current node within the tree if successful, 0 otherwise + */ + size_t gotoEntryFromNodeList(DSRDocumentTreeNodeCursor &cursor, + const size_t pos) const; + /** set internal cursor of a given document tree to a specific node ** @param tree pointer to document tree where nodes and cursor are stored * @param pos index of the list entry that stores the ID of the node @@ -149,12 +182,14 @@ class DCMTK_DCMSR_EXPORT DSRTemplateCommon * entry with a non-zero value (valid node ID) is found or the first list entry * is reached. This approach in particular supports handling of template tables * where the order of content items is significant. - ** @param tree pointer to document tree where nodes and cursor are stored - * @param lastPos index of the last node list entry to start searching from + ** @param tree pointer to document tree where nodes and cursor are stored + * @param lastPos index of the last node list entry to start searching from + * @param firstPos optional index of the node list entry to stop searching ** @return ID of the new current node within the tree if successful, 0 otherwise */ size_t gotoLastEntryFromNodeList(DSRDocumentSubTree *tree, - const size_t lastPos); + const size_t lastPos, + const size_t firstPos = 0); private: diff --git a/dcmsr/include/dcmtk/dcmsr/dsrctxgr.h b/dcmsr/include/dcmtk/dcmsr/dsrctxgr.h index 326ad972..a82c56c1 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrctxgr.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrctxgr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -57,7 +57,7 @@ class DCMTK_DCMSR_EXPORT DSRContextGroup /** check whether context group is extensible ** @return OFTrue if extensible, OFFalse otherwise */ - virtual OFBool isExtensible() const + inline OFBool isExtensible() const { return ExtensibleMode; } @@ -65,7 +65,7 @@ class DCMTK_DCMSR_EXPORT DSRContextGroup /** change mode specifying whether the context group is extensible or non-extensible ** @param mode set context group type to extensible if OFTrue (default) */ - virtual void setExtensible(const OFBool mode = OFTrue) + inline void setExtensible(const OFBool mode = OFTrue) { ExtensibleMode = mode; } @@ -150,6 +150,12 @@ class DCMTK_DCMSR_EXPORT DSRContextGroup */ virtual OFCondition findCodedEntry(const DSRCodedEntryValue &codedEntryValue) const; + /** check whether this context group has any extended coded entries. + * Extended coded entries are those non-standard codes added by addCodedEntry(). + ** @return OFTrue if there are any extended coded entries, OFFalse otherwise + */ + virtual OFBool hasExtendedCodedEntries() const; + /** add a coded entry to this context group as an extension, i.e.\ as a non-standard * code. Adding a new coded entry by this method only works for extensible context * groups. Please note that the 'codedEntryValue' is not checked for validity. @@ -235,7 +241,7 @@ class DCMTK_DCMSR_EXPORT DSRContextGroup DSRCodedEntryValue *foundCodedEntry, const OFBool enhancedEncodingMode = OFFalse) const; - /** check whether the currently selected coded entry is valid. + /** check whether a given coded entry is valid. * Internally, the method hasCodedEntry() is used if 'definedContextGroup' is OFTrue. ** @param codedEntryValue coded entry to be checked * @param definedContextGroup flag indicating whether this context group is used as diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdoc.h b/dcmsr/include/dcmtk/dcmsr/dsrdoc.h index fccbee4a..b44d9521 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdoc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdoc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -212,7 +212,8 @@ class DCMTK_DCMSR_EXPORT DSRDocument * Replace the currently stored document tree with the given one. Please note that the * given 'tree' is checked before setting it, i.e. only a valid document tree is accepted. * However, a new SOP instance is never created. If needed, this has to be done with - * createNewSOPInstance() in addition to or with createNewDocument() before this method. + * createNewSOPInstance() in addition to or with createNewDocument() before this method + * is called. ** @param tree document tree to be set (content will be copied) ** @return status, EC_Normal if successful, an error code otherwise */ @@ -220,21 +221,26 @@ class DCMTK_DCMSR_EXPORT DSRDocument /** set document tree from root template. * Replace the currently stored document tree with the one from the given root template. - * This is just a convenience function, so the additional comments on the above setTree() - * method also apply. + * By default, this method expands the tree, i.e. instances of DSRIncludedTemplateTreeNode + * that were added to the tree with DSRDocumentSubTree::includeTemplate() are replaced by + * their content, i.e. by the internally managed subtree. + * Please note that the additional comments on the above setTree() method also apply. ** @param rootTemplate template specifying the document tree to be set (content will be * copied). This parameter cannot be "const" because of * DSRRootTemplate::getTree(), which is called internally and which * modifies the tree. + * @param expandTree optional flag that allows for disabling the expanding of the + * document tree before setting it. Please note that various + * output methods like write() or renderHTML() do not yet work on + * such trees. ** @return status, EC_Normal if successful, an error code otherwise */ - virtual OFCondition setTreeFromRootTemplate(DSRRootTemplate &rootTemplate); + virtual OFCondition setTreeFromRootTemplate(DSRRootTemplate &rootTemplate, + const OFBool expandTree = OFTrue); /** get specific character set type. - * If the type is unknown the original DICOM defined term can be retrieved - * with the method getSpecificCharacterSet(). Please note that only the - * first of possibly multiple values is used to determine the type from the - * given DICOM code string (multiple character sets are not yet supported). + * If the type is unknown, the original DICOM defined term can be retrieved + * with the method getSpecificCharacterSet(). ** @return character set (might be CS_invalid/unknown if not supported) */ virtual E_CharacterSet getSpecificCharacterSetType() const; @@ -661,10 +667,13 @@ class DCMTK_DCMSR_EXPORT DSRDocument // --- set DICOM string attributes --- /** set specific character set. The internal enumerated value is set accordingly. - * Please note that code extensions techniques are not supported. Therefore, only - * a single value can be passed. - ** @param value value to be set (single value only) or "" for no value - * @param check check 'value' for conformance with VR (CS) and VM (1) if enabled + * Please note that this method does not return an error if the given 'value' is not + * defined by the DICOM standard or not supported by this class, e.g. when no mapping + * to the character set names needed for HTML/XHTML or XML output is defined. + * If needed, check the return value of the method getSpecificCharacterSetType() for + * DSRTypes::CS_unknown after calling this method. + ** @param value value to be set (single or multiple values) or "" for no value + * @param check check 'value' for conformance with VR (CS) and VM (1-n) if enabled ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition setSpecificCharacterSet(const OFString &value, @@ -1185,7 +1194,7 @@ class DCMTK_DCMSR_EXPORT DSRDocument /// defined term: see class DSRTypes E_CharacterSet SpecificCharacterSetEnum; - // DICOM attributes are listed ordered by module. + // DICOM attributes are listed ordered by Module. // The comments for each attribute describe "Name: (VR, VM, Type)". // Please note that for particular SR documents (e.g. Key Object Selection) // other rules might apply. See DICOM standard for further reference. @@ -1278,7 +1287,9 @@ class DCMTK_DCMSR_EXPORT DSRDocument DcmLongString ProtocolName; /// Series Description: (LO, 1, 3) DcmLongString SeriesDescription; - /// Referenced Performed Procedure Step Sequence: (SQ, 1-n, 2) + /// Series Description Code Sequence: (SQ, 1, 3) + // - tbd: optional attribute not yet supported + /// Referenced Performed Procedure Step Sequence: (SQ, 1, 2) DcmSequenceOfItems ReferencedPerformedProcedureStep; // --- SR Document General Module (M) --- @@ -1299,12 +1310,18 @@ class DCMTK_DCMSR_EXPORT DSRDocument DcmTime ContentTime; /// Verifying Observer Sequence: (SQ, 1-n, 1C) DcmSequenceOfItems VerifyingObserver; + /// Author Observer Sequence: (SQ, 1-n, 3) + // - tbd: optional attribute not yet supported + /// Participant Sequence: (SQ, 1-n, 3) + // - tbd: optional attribute not yet supported + /// Custodial Organization Sequence: (SQ, 1, 3) + // - tbd: optional attribute not yet supported /// Predecessor Documents Sequence: (SQ, 1-n, 1C) DSRSOPInstanceReferenceList PredecessorDocuments; /// Identical Documents Sequence: (SQ, 1-n, 1C) DSRSOPInstanceReferenceList IdenticalDocuments; // Referenced Request Sequence: (SQ, 1-n, 1C) - // - tbd: conditional attribute not yet supported + // - tbd: conditional attribute not yet supported /// Performed Procedure Code Sequence: (SQ, 1-n, 2) DcmSequenceOfItems PerformedProcedureCode; /// Current Requested Procedure Evidence Sequence: (SQ, 1-n, 1C) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdocst.h b/dcmsr/include/dcmtk/dcmsr/dsrdocst.h index ee0512bb..af6f6712 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdocst.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdocst.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -30,14 +30,34 @@ #include "dcmtk/dcmsr/dsrdoctn.h" #include "dcmtk/dcmsr/dsrcitem.h" +#include "dcmtk/ofstd/ofmem.h" #include "dcmtk/dcmdata/dcitem.h" -/*-----------------------* - * forward declaration * - *-----------------------*/ +/*------------------------* + * forward declarations * + *------------------------*/ class DSRIODConstraintChecker; +class DSRSubTemplate; + + +/*-------------------* + * type definition * + *-------------------*/ + +typedef OFshared_ptr DSRSharedSubTemplate; + + +/*--------------------------* + * template instantiation * + *--------------------------*/ + +// the following is required in order to help older Clang compilers, +// e.g. Clang 3.0 and 3.1 on Mac OS X when building with shared libs +#if defined(__clang__) +template class DSRTree; +#endif /*---------------------* @@ -64,6 +84,9 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree * Please note that the internal cursor is not copied but reset, i.e. set to the root * node. Also the IOD constraint checker is not copied by this class but recreated * by the derived class DSRDocumentTree (based on the corresponding document type). + * This constructor also updates any by-reference relationships, i.e. translates the + * references from the source 'tree' (based on the position string) to the IDs of the + * newly created nodes. ** @param tree subtree to be copied */ DSRDocumentSubTree(const DSRDocumentSubTree &tree); @@ -95,6 +118,11 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree */ virtual OFBool isValid() const; + /** check whether the internal cursor, which points to the current content item, is valid + ** @return OFTrue if cursor is valid, OFFalse otherwise + */ + virtual OFBool isCursorValid() const; + /** check whether this subtree is a valid document tree. * In order to be a valid document tree, there should be a single root node only, with * the value type "CONTAINER", and the internal relationship type of this node should be @@ -105,6 +133,14 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree */ virtual OFBool isValidDocumentTree(const E_RelationshipType defaultRelType = RT_unknown) const; + /** check whether this subtree is an expanded document tree. + * Expanded means that no instances of DSRIncludedTemplateTreeNode exist in the document + * tree, i.e. no templates were included or all of them were replaced by their content + * (subtree). + ** @return OFTrue if subtree is an expanded document tree, OFFalse otherwise + */ + virtual OFBool isExpandedDocumentTree() const; + /** check whether template identification is set ** @return OFTrue if template identification is set, OFFalse otherwise */ @@ -120,12 +156,23 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree virtual OFBool canUseTemplateIdentification() const; /** print current SR document tree to specified output stream - ** @param stream output stream - * @param flags flag used to customize the output (see DSRTypes::PF_xxx) + ** @param stream output stream + * @param flags optional flag used to customize the output (see DSRTypes::PF_xxx) + * @param posCounter optional pointer to position counter that should be used + * for line indentation or numbering of nested content items ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition print(STD_NAMESPACE ostream &stream, - const size_t flags = 0); + const size_t flags = 0, + DSRPositionCounter *posCounter = NULL); + + /** write current SR document tree in XML format + ** @param stream output stream to which the XML document is written + * @param flags optional flag used to customize the output (see DSRTypes::XF_xxx) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition writeXML(STD_NAMESPACE ostream &stream, + const size_t flags = 0); /** get reference to current content item. * This mechanism allows to access all content items without using pointers. @@ -133,6 +180,20 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree */ virtual DSRContentItem &getCurrentContentItem(); + /** count number of content items (nodes) in the document tree. + * This method iterates over all nodes that are stored in the document tree. + * By default, included sub-templates are counted as a single node (see options). + ** @param searchIntoSubTemplates optional flag indicating whether to also + * count the content of included sub-templates + * (i.e.\ the nodes of the managed subtrees) + * @param countIncludedTemplateNodes optional flag indicating whether to count + * the DSRIncludedTemplateTreeNode instances + * as nodes. See includeTemplate() for details. + ** @return number of nodes, 0 if document tree is empty + */ + size_t countNodes(const OFBool searchIntoSubTemplates = OFFalse, + const OFBool countIncludedTemplateNodes = OFTrue) const; + /** set internal cursor to a named node. * If more than one node exists with the given concept name, the first one will * be selected. Use gotoNextNamedNode() in order to go to the next matching node. @@ -147,6 +208,18 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree const OFBool startFromRoot = OFTrue, const OFBool searchIntoSub = OFTrue); + /** set internal cursor to a named node (starting from the first children of the + * current node). + * If more than one node exists with the given concept name, the first one will + * be selected. Use gotoNextNamedNode() in order to go to the next matching node. + ** @param conceptName concept name of the node to be searched for + * @param searchIntoSub flag indicating whether to search into sub-trees + * ("deep search") or on the current level only + ** @return ID of the new current node if successful, 0 otherwise + */ + virtual size_t gotoNamedChildNode(const DSRCodedEntryValue &conceptName, + const OFBool searchIntoSub = OFTrue); + /** set internal cursor to the next named node. * Starts from "next" node, i.e. either the first children of the current node * or the first sibling following the current node. @@ -180,7 +253,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree /** check whether specified content item can be added to the current one. * This method can be used to decide which type of content items can be added prior - * to really doing so. + * to really doing so. Please note that only by-value relationships are supported. * Always returns true if no constraint checker is available but 'relationshipType' * and 'valueType' have valid values. ** @param relationshipType relationship type of node to be checked with regard to @@ -192,18 +265,19 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree */ virtual OFBool canAddContentItem(const E_RelationshipType relationshipType, const E_ValueType valueType, - const E_AddMode addMode = AM_afterCurrent); + const E_AddMode addMode = AM_afterCurrent) const; /** check whether specified by-reference relationship can be added to the current * content item. * Always returns true if no constraint checker is available but 'relationshipType' and - * 'targetValueType' have valid values. + * 'targetValueType' have valid values. The value type DSRTypes::VT_includedTemplate is + * never allowed for the target content item. ** @param relationshipType type of relationship between current and target node * @param targetValueType value type of the referenced node (target content item) ** @return OFTrue if specified by-reference relationship can be added, OFFalse otherwise */ virtual OFBool canAddByReferenceRelationship(const E_RelationshipType relationshipType, - const E_ValueType targetValueType); + const E_ValueType targetValueType) const; /** add specified content item to the current one. * If possible, this method creates a new node as specified and adds it to the current @@ -250,11 +324,13 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree * to the current one * @param valueType value type of node to be added * @param conceptName concept name of the node to be added + * @param check if enabled, check 'conceptName for validity before setting it ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition addContentItem(const E_RelationshipType relationshipType, const E_ValueType valueType, - const DSRCodedEntryValue &conceptName); + const DSRCodedEntryValue &conceptName, + const OFBool check = OFTrue); /** add specified content item below the current one. * If possible, this method creates a new node as specified and adds it below the current @@ -266,11 +342,13 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree * to the current one * @param valueType value type of node to be added * @param conceptName concept name of the node to be added + * @param check if enabled, check 'conceptName for validity before setting it ** @return status, EC_Normal if successful, an error code otherwise */ virtual OFCondition addChildContentItem(const E_RelationshipType relationshipType, const E_ValueType valueType, - const DSRCodedEntryValue &conceptName); + const DSRCodedEntryValue &conceptName, + const OFBool check = OFTrue); /** add specified by-reference relationship to the current content item. * If possible, this method creates a new pseudo-node (relationship) and adds it to the @@ -283,6 +361,15 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree virtual size_t addByReferenceRelationship(const E_RelationshipType relationshipType, const size_t referencedNodeID); + /** update the position strings used to encode by-reference relationships (if any). + * Internally, this method calls checkByReferenceRelationships() with the 'mode' + * parameter being DSRTypes::CM_updatePositionString. It should be called before + * this subtree is cloned in order to make sure that the by-reference relationships + * (if any) still work on the cloned subtree. + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition updateByReferenceRelationships(); + /** check whether specified subtree can be inserted at the current position, i.e.\ added * to the current content item. Internally, the method canAddContentItem() is used for * all top-level nodes of the document subtree. In addition, if a constraint checker @@ -296,9 +383,9 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree * type is used if the one of a top-level node is "unknown". ** @return OFTrue if specified subtree can be inserted, OFFalse otherwise */ - virtual OFBool canInsertSubTree(DSRDocumentSubTree *tree, + virtual OFBool canInsertSubTree(const DSRDocumentSubTree *tree, const E_AddMode addMode = AM_belowCurrent, - const E_RelationshipType defaultRelType = RT_unknown); + const E_RelationshipType defaultRelType = RT_unknown) const; /** insert specified subtree to this tree, i.e.\ add it to the current content item. * If possible, this method adds a given new subtree to the current content item. @@ -371,6 +458,30 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree */ virtual DSRDocumentSubTree *cloneSubTree(const size_t stopAfterNodeID = 0) const; + /** created an expanded version of this (sub)tree. + * Expanded means that no instance of DSRIncludedTemplateTreeNode will exist in the new + * document tree, i.e. all of them are replaced by their content (subtree). Please note + * that the returned subtree has to be deleted by the caller if it is not inserted into + * the document tree using insertSubTree(). + ** @param tree variable that will store the pointer to the new subtree + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition createExpandedSubTree(DSRDocumentSubTree *&tree) const; + + /** compare template identification of the root node with given values. + * Please note that the comparison only takes place if there is a single node at the + * root of the tree and its value type is CONTAINER. + ** @param templateIdentifier template identifier to compare with + * @param mappingResource mapping resource that defines the template + * @param mappingResourceUID uniquely identifies the mapping resource (optional). + * Not used for comparison if the value is empty. + ** @result OFTrue if template identification can be compared and the values are + * identical, OFFalse otherwise + */ + virtual OFBool compareTemplateIdentification(const OFString &templateIdentifier, + const OFString &mappingResource, + const OFString &mappingResourceUID = "") const; + /** get template identifier and mapping resource from the root node of this tree. See * DSRDocumentTreeNode::getTemplateIdentification() for details on template identification. * Please note that the template identification is only retrieved if there is a single node @@ -444,11 +555,21 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree ** @param node pointer to the new node to be added * @param addMode flag specifying at which position to add the new node * (e.g. after or below the current node) - ** @return ID of the new added node if successful, 0 otherwise + ** @return ID of the new node if successful, 0 otherwise */ virtual size_t addNode(DSRDocumentTreeNode *node, const E_AddMode addMode = AM_afterCurrent); + /** replace current node by the given one. + * Please note that no copy of the given node is created. Therefore, the node + * should be created with new() - do not use a reference to a local variable. If + * the node could be replaced successfully, the "old" node (and all of its child + * nodes) are deleted, and the cursor is set to the new one. + ** @param node pointer to the new node to replace the current one + ** @return ID of the new node if successful, 0 otherwise + */ + virtual size_t replaceNode(DSRDocumentTreeNode *node); + /** extract current node from tree. * Please note that not only the specified node but also all of its child nodes are * extracted from the tree. The cursor is set automatically to a new valid position. @@ -472,6 +593,38 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree */ virtual size_t removeNode(); + /** include specified sub-template, i.e.\ add a new DSRIncludedTemplateTreeNode, which + * references this template, to the current content item. + * Please note that no checks are performed that would make sure that the template + * with its top-level nodes can actually be added, e.g. by using an IOD constraint + * checker. This is also the reason why this method is "protected" and not "public", + * i.e. it can only be used by derived classes, e.g. DSRSubTemplate and its children. + ** @param subTemplate shared pointer to a sub-template that should be included + * into this tree (at the current position) + * @param addMode flag specifying at which position to add the 'subTemplate' + * (e.g. after or below the current node) + * @param defaultRelType default relationship type that will be used when the + * subtree that is managed by the 'subTemplate' is inserted + * into this tree and the relationship type of one of the + * top-level nodes is "unknown". Also see documentation of + * createExpandedSubTree(). + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition includeTemplate(const DSRSharedSubTemplate &subTemplate, + const E_AddMode addMode = AM_belowCurrent, + const E_RelationshipType defaultRelType = RT_unknown); + + /** expand all "included template" content items in a given (sub)tree. + * Expanding means that all instances of DSRIncludedTemplateTreeNode are replaced by + * their content (subtree). + * Please note that the internal cursor of the given 'tree' is set to the root node + * if no error occurred. Otherwise, the cursor points to the content item that + * caused the problem. + ** @param tree pointer to the subtree that should be expanded + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition expandIncludedTemplates(DSRDocumentSubTree *tree) const; + /** check the by-reference relationships (if any) for validity. * This function checks whether all by-reference relationships possibly contained * in the document tree are valid according to the following restrictions: source @@ -507,8 +660,8 @@ class DCMTK_DCMSR_EXPORT DSRDocumentSubTree * If NULL, no checks are performed by this method. ** @return status, EC_Normal if successful, an error code otherwise */ - virtual OFCondition checkSubTreeConstraints(DSRDocumentSubTree *tree, - DSRIODConstraintChecker *checker); + virtual OFCondition checkSubTreeConstraints(const DSRDocumentSubTree *tree, + const DSRIODConstraintChecker *checker) const; /// check relationship content constraints of the associated IOD DSRIODConstraintChecker *ConstraintChecker; diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h b/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h index d93e290f..7e4f7f65 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdoctn.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -139,6 +139,18 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode virtual OFCondition print(STD_NAMESPACE ostream &stream, const size_t flags) const; + /** print extended information on the content item. + * The following details are printed (if present and output is enabled): observation + * date/time (in curly brackets), annotation text (in quotation marks) and template + * identification (after a hash mark). This method is intended to be called after + * the general print() method, e.g. like it is done by DSRDocumentSubTree::print(). + ** @param stream output stream to which the extended information should be printed + * @param flags flag used to customize the output (see DSRTypes::PF_xxx) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition printExtended(STD_NAMESPACE ostream &stream, + const size_t flags) const; + /** read content item from dataset. * A number of readXXX() methods are called (see "protected" part) in order to retrieve all * possibly nested content items from the dataset. @@ -399,6 +411,17 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode virtual OFCondition setObservationUID(const OFString &observationUID, const OFBool check = OFTrue); + /** compare template identification with given values + ** @param templateIdentifier template identifier to compare with + * @param mappingResource mapping resource that defines the template + * @param mappingResourceUID uniquely identifies the mapping resource (optional). + * Not used for comparison if the value is empty. + ** @result OFTrue if template identification is identical, OFFalse otherwise + */ + virtual OFBool compareTemplateIdentification(const OFString &templateIdentifier, + const OFString &mappingResource, + const OFString &mappingResourceUID = "") const; + /** get template identifier and mapping resource. * This value pair identifies the template that was used to create this content item * (and its children). According to the DICOM standard, it is "required if a template @@ -598,7 +621,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode /** read document relationship macro ** @param dataset DICOM dataset from which the data should be read * @param constraintChecker checks relationship content constraints of the associated IOD - * @param posString location of the current content item (e.g. "1.2.3") + * @param posString location of the current content item (e.g.\ "1.2.3") * @param flags flag used to customize the reading process (see DSRTypes::RF_xxx) ** @return status, EC_Normal if successful, an error code otherwise */ @@ -618,7 +641,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode /** read document content macro ** @param dataset DICOM dataset from which the data should be read - * @param posString location of the current content item (e.g. "1.2.3") + * @param posString location of the current content item (e.g.\ "1.2.3") * @param flags flag used to customize the reading process (see DSRTypes::RF_xxx) ** @return status, EC_Normal if successful, an error code otherwise */ @@ -635,7 +658,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode /** read content sequence ** @param dataset DICOM dataset from which the data should be read * @param constraintChecker checks relationship content constraints of the associated IOD - * @param posString location of the current content item (e.g. "1.2.3") + * @param posString location of the current content item (e.g.\ "1.2.3") * @param flags flag used to customize the reading process (see DSRTypes::RF_xxx) ** @return status, EC_Normal if successful, an error code otherwise */ @@ -706,10 +729,10 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode private: - /// flag indicating whether the content item is marked (e.g. used for digital signatures). + /// flag indicating whether the content item is marked (e.g.\ used for digital signatures). /// The default value is OFFalse. OFBool MarkFlag; - /// flag indicating whether the content item is referenced (by-reference relationship) + /// flag indicating whether the content item is referenced (by-reference relationship). /// The default value is OFFalse. OFBool ReferenceTarget; diff --git a/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h b/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h index db47f840..06798fbf 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrdoctr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -91,6 +91,14 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree */ virtual OFBool isValid() const; + /** print current SR document tree to specified output stream + ** @param stream output stream + * @param flags optional flag used to customize the output (see DSRTypes::PF_xxx) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition print(STD_NAMESPACE ostream &stream, + const size_t flags = 0); + /** read SR document tree from DICOM dataset. * Please note that the current document tree is also deleted if the reading fails. * If logging is enabled, the reason for any error might be obtained from the @@ -104,7 +112,8 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree const E_DocumentType documentType, const size_t flags = 0); - /** write current SR document tree to DICOM dataset + /** write current SR document tree to DICOM dataset. + * Please note that included (non-expanded) sub-templates are not supported. ** @param dataset reference to DICOM dataset where the current tree should be * written to. The 'dataset' is not cleared before writing to it! * @param markedItems optional stack where pointers to all 'marked' content items @@ -125,15 +134,8 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree DSRXMLCursor cursor, const size_t flags); - /** write current SR document tree in XML format - ** @param stream output stream to which the XML document is written - * @param flags flag used to customize the output (see DSRTypes::XF_xxx) - ** @return status, EC_Normal if successful, an error code otherwise - */ - virtual OFCondition writeXML(STD_NAMESPACE ostream &stream, - const size_t flags); - - /** render current SR document tree in HTML/XHTML format + /** render current SR document tree in HTML/XHTML format. + * Please note that included (non-expanded) sub-templates are not supported. ** @param docStream output stream to which the main HTML/XHTML document is written * @param annexStream output stream to which the HTML/XHTML document annex is written * @param flags optional flag used to customize the output (see DSRTypes::HF_xxx) @@ -144,7 +146,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree const size_t flags = 0); /** get document type - ** return current document type (might be DSRTypes::DT_invalid) + ** @return current document type (might be DSRTypes::DT_invalid) */ inline E_DocumentType getDocumentType() const { @@ -183,7 +185,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree */ virtual OFBool canAddContentItem(const E_RelationshipType relationshipType, const E_ValueType valueType, - const E_AddMode addMode = AM_afterCurrent); + const E_AddMode addMode = AM_afterCurrent) const; /** check whether specified subtree can be inserted at the current position, i.e.\ added * to the current content item. @@ -198,9 +200,9 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree * type is used if the one of a top-level node is "unknown". ** @return OFTrue if specified subtree can be inserted, OFFalse otherwise */ - virtual OFBool canInsertSubTree(DSRDocumentSubTree *tree, + virtual OFBool canInsertSubTree(const DSRDocumentSubTree *tree, const E_AddMode addMode = AM_belowCurrent, - const E_RelationshipType defaultRelType = RT_unknown); + const E_RelationshipType defaultRelType = RT_unknown) const; /** check whether the document tree complies with the constraints of the given checker. * This method also checks whether the currently stored document tree is either empty diff --git a/dcmsr/include/dcmtk/dcmsr/dsrenhcc.h b/dcmsr/include/dcmtk/dcmsr/dsrenhcc.h index 5f07e98a..86b3c282 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrenhcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrenhcc.h @@ -59,10 +59,14 @@ class DCMTK_DCMSR_EXPORT DSREnhancedSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return always returns NULL (no template required) + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_EnhancedSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h b/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h index 3fee4e40..01f622c6 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrimgvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -135,6 +135,11 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue */ virtual OFBool isShort(const size_t flags) const; + /** check whether the current image reference points to a DICOM segmentation object + ** @return OFTrue if a segmentation object is referenced, OFFalse otherwise + */ + virtual OFBool isSegmentation() const; + /** print image reference. * The output of a typical image reference value looks like this: (CT image,"1.2.3") or * (CT image,"1.2.3"),(GSPS,"1.2.3.4") if a presentation state is present. @@ -345,6 +350,14 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue return FrameList; } + /** get read-only access to list of referenced frame numbers + ** @return constant reference to frame list + */ + inline const DSRImageFrameList &getFrameList() const + { + return FrameList; + } + /** get reference to list of referenced segment numbers. * According to the DICOM standard, this list is required if the referenced image is * a segmentation object, and the reference does not apply to all segments and the list @@ -356,6 +369,14 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue return SegmentList; } + /** get read-only access to list of referenced segment numbers + ** @return constant reference to segment list + */ + inline const DSRImageSegmentList &getSegmentList() const + { + return SegmentList; + } + /** check whether the image reference applies to a specific frame. * The image reference applies to a frame (of multiframe images) if the list of * referenced frame numbers is empty or the frame number is part of the list. @@ -397,10 +418,16 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue */ virtual OFCondition writeItem(DcmItem &dataset) const; + /** check whether the given SOP class UID refers to a DICOM segmentation object + ** @param sopClassUID SOP class UID to be checked + ** @return OFTrue if the UID refers to a segmentation object, OFFalse otherwise + */ + virtual OFBool isSegmentationObject(const OFString &sopClassUID) const; + /** check the specified SOP class UID for validity. * This method further specializes the checks performed in the base class - * DSRCompositeReferenceValue. All image SOP classes that are defined in - * DICOM PS 3.6-2014a and the "Segmentation Storage SOP Class" are allowed. + * DSRCompositeReferenceValue. All image and segmentation SOP classes that + * are defined in DICOM PS 3.6-2015c are allowed. ** @param sopClassUID SOP class UID to be checked ** @return status, EC_Normal if value is valid, an error code otherwise */ @@ -424,15 +451,19 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue virtual OFCondition checkRealWorldValueMapping(const DSRCompositeReferenceValue &referenceValue) const; /** check the given list of frame and segment numbers for validity. - * The only check that is currently performed is that either both lists are empty or only - * one of them is non-empty, because otherwise the "type 1C" condition would be violated. - ** @param frameList list of referenced frame numbers to be checked + * Either both lists have to be empty or only one of them has to be non-empty, + * because otherwise the "type 1C" condition would be violated. Also the list + * of segment numbers should only be non-empty for one of the DICOM segmentation + * objects (see isSegmentationObject()). + ** @param sopClassUID SOP class UID of the image object to be checked + * @param frameList list of referenced frame numbers to be checked * @param segmentList list of referenced segment numbers to be checked - * @param reportWarnings if enabled, report a warning message on each deviation from an - * expected value to the logger + * @param reportWarnings if enabled, report a warning message on each deviation + * from an expected value to the logger ** @return status, EC_Normal if checked data is valid, an error code otherwise */ - OFCondition checkListData(const DSRImageFrameList &frameList, + OFCondition checkListData(const OFString &sopClassUID, + const DSRImageFrameList &frameList, const DSRImageSegmentList &segmentList, const OFBool reportWarnings = OFFalse) const; diff --git a/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h b/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h index 2d4242ef..5c72fe9b 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrimpcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2014, OFFIS e.V. + * Copyright (C) 2010-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,8 +33,10 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the - * Implantation Plan SR Document IOD +/** Class for checking the relationship content constraints of the Implantation Plan + * SR Document IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 7000 + * (Implantation Plan) invoked at the root node." */ class DCMTK_DCMSR_EXPORT DSRImplantationPlanSRDocumentConstraintChecker : public DSRIODConstraintChecker @@ -60,10 +62,14 @@ class DCMTK_DCMSR_EXPORT DSRImplantationPlanSRDocumentConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "7000" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_ImplantationPlanSRDocument) diff --git a/dcmsr/include/dcmtk/dcmsr/dsriodcc.h b/dcmsr/include/dcmtk/dcmsr/dsriodcc.h index e08892e6..fd137814 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsriodcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsriodcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -59,10 +59,14 @@ class DCMTK_DCMSR_EXPORT DSRIODConstraintChecker */ virtual OFBool isTemplateSupportRequired() const = 0; - /** get identifier of the root template - ** @return root template identifier (TID) if required, NULL otherwise + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const = 0; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const = 0; /** get the associated document type of the SR IOD (abstract) ** @return document type (see DSRTypes::E_DocumentType) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h b/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h index ce26ef7b..4ad28360 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrkeycc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,8 +33,10 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the - * Key Object Selection Document IOD +/** Class for checking the relationship content constraints of the Key Object + * Selection Document IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 2010 + * (Key Object Selection) invoked at the root node." */ class DCMTK_DCMSR_EXPORT DSRKeyObjectSelectionDocumentConstraintChecker : public DSRIODConstraintChecker @@ -60,10 +62,14 @@ class DCMTK_DCMSR_EXPORT DSRKeyObjectSelectionDocumentConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "2010" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_KeyObjectSelectionDocument) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h b/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h index d9540509..66c742ba 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrmaccc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2014, OFFIS e.V. + * Copyright (C) 2010-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,8 +33,10 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the - * Macular Grid Thickness And Volume Report IOD +/** Class for checking the relationship content constraints of the Macular Grid + * Thickness And Volume Report IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 2100 + * (Macular Grid Thickness and Volume Report) invoked at the root node." */ class DCMTK_DCMSR_EXPORT DSRMacularGridThicknessAndVolumeReportConstraintChecker : public DSRIODConstraintChecker @@ -60,10 +62,14 @@ class DCMTK_DCMSR_EXPORT DSRMacularGridThicknessAndVolumeReportConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "2100" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_MacularGridThicknessAndVolumeReport) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h b/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h index 2c72722b..7335f370 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrmamcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,7 +33,12 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the Mammography CAD SR IOD +/** Class for checking the relationship content constraints of the Mammography CAD SR + * IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 4000 + * (Mammography CAD Document Root) invoked at the root node. When a content item + * sub-tree from a prior document is duplicated by-value, its observation context + * shall be defined by TID 1001 (Observation Context) and its subordinate templates." */ class DCMTK_DCMSR_EXPORT DSRMammographyCadSRConstraintChecker : public DSRIODConstraintChecker @@ -59,10 +64,14 @@ class DCMTK_DCMSR_EXPORT DSRMammographyCadSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "4000" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_MammographyCadSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h b/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h index 9c103555..7f4d599c 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrnumvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -35,7 +35,7 @@ * class declaration * *---------------------*/ -/** Class for numeric measurement values +/** Class for numeric values and measurements */ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue { @@ -49,7 +49,7 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue DSRNumericMeasurementValue(); /** constructor - ** @param numericValue numeric measurement value (VR=DS, mandatory) + ** @param numericValue numeric value (VR=DS, mandatory) * @param measurementUnit code representing the units of measurement (mandatory) * @param check if enabled, check 'numericValue' and 'measurementUnit' for * validity before setting them. See corresponding setValue() @@ -60,7 +60,18 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue const OFBool check = OFTrue); /** constructor - ** @param numericValue numeric measurement value (VR=DS, mandatory) + ** @param valueQualifier code representing the numeric value qualifier. Used to + * specify the reason for the absence of the measured value + * sequence, i.e. why the numeric value and measurement unit + * are empty. + * @param check if enabled, check value for validity before setting it. + * See corresponding setValue() method for details. + */ + DSRNumericMeasurementValue(const DSRCodedEntryValue &valueQualifier, + const OFBool check = OFTrue); + + /** constructor + ** @param numericValue numeric value (VR=DS, mandatory) * @param measurementUnit code representing the units of measurement (mandatory) * @param valueQualifier code representing the numeric value qualifier (optional). * Can also be used to specify the reason for the absence of @@ -111,11 +122,21 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue */ virtual OFBool isEmpty() const; + /** check whether the current numeric measurement value is complete, i.e.\ whether the + * numeric value is non-empty and the measurement unit is complete, or whether the + * value qualifier is complete. This is just a basic check that might be useful for + * "validating" input data. See isValid() for a more sophisticated way of checking + * the current numeric measurement value. + ** @return OFTrue if value is complete, OFFalse otherwise + */ + virtual OFBool isComplete() const; + /** print numeric measurement value. * The output of a typical numeric measurement value looks like this: - * "3.5" (cm,UCUM[1.4],"centimeter"). If the value is empty the text "empty" is printed - * instead. The numeric value qualifier as well as the possibly available additional - * floating point and rational representations of the numeric value are never printed. + * "3.5" (cm,UCUM[1.4],"centimeter"). If the value is empty, the text "empty" is printed + * instead, followed by the numeric value qualifier (if present). The possibly available + * additional floating point and rational representations of the numeric value are never + * printed. ** @param stream output stream to which the numeric measurement value should be printed * @param flags flag used to customize the output (not used) ** @return status, EC_Normal if successful, an error code otherwise @@ -271,6 +292,19 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue const DSRCodedEntryValue &measurementUnit, const OFBool check = OFTrue); + /** set empty numeric value and measurement unit with a numeric value qualifier. + * Before setting the value, it is usually checked. If the value is invalid, the + * current numeric measurement value is not replaced and remains unchanged. + ** @param valueQualifier numeric value qualifier to be set. Used to specify the + * reason for the absence of the measured value sequence, + * i.e. why the numeric value and measurement unit are empty. + * @param check if enabled, check value for validity before setting it. + * See checkNumericValueQualifier() method for details. + ** @return status, EC_Normal if successful, an error code otherwise + */ + OFCondition setValue(const DSRCodedEntryValue &valueQualifier, + const OFBool check = OFTrue); + /** set numeric value, measurement unit and numeric value qualifier. * Before setting the values, they are usually checked. Please note that both * 'numericValue' and 'measurementUnit' either have to be empty or non-empty. @@ -495,4 +529,16 @@ class DCMTK_DCMSR_EXPORT DSRNumericMeasurementValue }; +/** output stream operator for numeric measurement values. + * Internally, the DSRNumericMeasurementValue::print() method is used, i.e. the output + * looks like this: "3.5" (cm,UCUM[1.4],"centimeter") or "empty" (if the value is empty) + * @param stream output stream to which the numeric measurement value is + * printed + * @param numericMeasurement numeric measurement value to be printed + * @return reference to output stream + */ +DCMTK_DCMSR_EXPORT STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream, + const DSRNumericMeasurementValue &numericMeasurement); + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrposcn.h b/dcmsr/include/dcmtk/dcmsr/dsrposcn.h new file mode 100644 index 00000000..0768b9e4 --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/dsrposcn.h @@ -0,0 +1,152 @@ +/* + * + * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmsr + * + * Author: Joerg Riesmeier + * + * Purpose: + * classes: DSRPositionCounter + * + */ + + +#ifndef DSRPOSCN_H +#define DSRPOSCN_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/ofstd/ofstring.h" +#include "dcmtk/ofstd/oflist.h" + +#include "dcmtk/dcmsr/dsdefine.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Class implementing a position counter to be used for iterating a tree of nodes + */ +class DCMTK_DCMSR_EXPORT DSRPositionCounter +{ + public: + + /** default constructor + */ + DSRPositionCounter(); + + /** copy constructor + ** @param counter object to be copied + */ + DSRPositionCounter(const DSRPositionCounter &counter); + + /** destructor + */ + virtual ~DSRPositionCounter(); + + /** assignment operator + ** @param counter object to be copied + ** @return reference to modified cursor (this object) + */ + DSRPositionCounter &operator=(const DSRPositionCounter &counter); + + /** conversion operator that returns the position on the current level + * (0 if the position counter is invalid) + */ + inline operator size_t () const + { + return Position; + } + + /** pre-increment operator. Increases the position on the current level by 1. + * Also makes the position counter valid if it was invalid before. + */ + inline DSRPositionCounter &operator++() + { + ++Position; + return *this; + } + + /** pre-decrement operator. Decreases the position on the current level by 1. + * This makes the position counter invalid if the position was 1 before. + */ + inline DSRPositionCounter &operator--() + { + /* avoid underflow */ + if (Position > 0) --Position; + return *this; + } + + /** clear all member variables. + * The position counter becomes invalid afterwards (same state as after default + * construction). Also see initialize(). + */ + void clear(); + + /** initialize the position counter + ** @param valid flag specifying whether the counter should be initialized as + * valid (default) or invalid + */ + void initialize(const OFBool valid = OFTrue); + + /** check whether position counter is valid (i.e.\ has been initialized) + ** @return OFTrue if valid, OFFalse otherwise + */ + inline OFBool isValid() const + { + return (Position > 0); + } + + /** go one level up, i.e.\ restore the position on the next upper level and forget + * about the current level + ** @return OFTrue if successful, OFFalse otherwise + */ + OFBool goUp(); + + /** go one level down, i.e.\ store the position on the current level and start with + * 1 on the new level + ** @return OFTrue if successful, OFFalse otherwise + */ + OFBool goDown(); + + /** get current level of the position counter. + * The top most (root) level is 1, the next lower level is 2, etc. + ** @return number of the current level if valid, 0 otherwise + */ + inline size_t getLevel() const + { + /* check for valid counter */ + return isValid() ? PositionList.size() + 1 : 0; + } + + /** get string representing the current state of the position counter. + * See DSRTreeNodeCursor::getPosition() for details. + ** @param position variable where the position string should be stored + * @param separator character used to separate the figures (default: '.') + ** @return reference to the resulting position string (empty if invalid) + */ + const OFString &getString(OFString &position, + const char separator = '.') const; + + + private: + + /// current position within the current level + size_t Position; + /// list of position counters in upper levels + OFList PositionList; +}; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrprocc.h b/dcmsr/include/dcmtk/dcmsr/dsrprocc.h index bca1c898..55626dd2 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrprocc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrprocc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,7 +33,9 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the Procedure Log IOD +/** Class for checking the relationship content constraints of the Procedure Log IOD. + * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 3001 + * (Procedure Log) invoked at the root node." */ class DCMTK_DCMSR_EXPORT DSRProcedureLogConstraintChecker : public DSRIODConstraintChecker @@ -55,14 +57,18 @@ class DCMTK_DCMSR_EXPORT DSRProcedureLogConstraintChecker virtual OFBool isByReferenceAllowed() const; /** check whether this SR IOD requires template support - ** @return always returns OFTrue, i.e. template support is required + ** @return always returns OFFalse, i.e. template support is not required */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "3001" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_ProcedureLog) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h b/dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h index 2d2f2a1c..9fa55d67 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrrrdcc.h @@ -34,7 +34,9 @@ *---------------------*/ /** Class for checking the relationship content constraints of the Radiopharmaceutical - * Radiation Dose SR IOD + * Radiation Dose SR IOD. + * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 10021 + * (Radiopharmaceutical Radiation Dose) invoked at the root node." */ class DCMTK_DCMSR_EXPORT DSRRadiopharmaceuticalRadiationDoseConstraintChecker : public DSRIODConstraintChecker @@ -60,10 +62,14 @@ class DCMTK_DCMSR_EXPORT DSRRadiopharmaceuticalRadiationDoseConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return always returns NULL (no template required) + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_RadiopharmaceuticalRadiationDoseSR) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrrtpl.h b/dcmsr/include/dcmtk/dcmsr/dsrrtpl.h index 8f78a1ef..a38447fa 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrrtpl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrrtpl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -95,7 +95,9 @@ class DCMTK_DCMSR_EXPORT DSRRootTemplate */ virtual void clear(); - /** check whether the current internal state is valid + /** check whether the current internal state is valid. + * That means, whether both the internally stored document tree and the template + * identification are valid. ** @return OFTrue if valid, OFFalse otherwise */ virtual OFBool isValid() const; @@ -104,7 +106,7 @@ class DCMTK_DCMSR_EXPORT DSRRootTemplate * document tree starting from the root node ** @return always returns OFTrue since this class handles root templates */ - OFBool isRootTemplate() const + inline OFBool isRootTemplate() const { return OFTrue; } @@ -112,7 +114,7 @@ class DCMTK_DCMSR_EXPORT DSRRootTemplate /** get read-only access to internally stored document tree. * This method is not "const" because the template identification is set/updated * automatically for the root node of the document tree (if applicable). - ** @return get constant reference to internally stored document tree + ** @return constant reference to internally stored document tree */ virtual const DSRDocumentTree &getTree(); @@ -134,9 +136,26 @@ class DCMTK_DCMSR_EXPORT DSRRootTemplate // --- introduce some methods from base class to public API + using DSRDocumentTree::isEmpty; + using DSRDocumentTree::isCursorValid; using DSRDocumentTree::getDocumentType; using DSRDocumentTree::print; + using DSRDocumentTree::writeXML; using DSRDocumentTree::countNodes; + using DSRDocumentTree::countChildNodes; + using DSRDocumentTree::hasParentNode; + using DSRDocumentTree::hasChildNodes; + using DSRDocumentTree::hasPreviousNode; + using DSRDocumentTree::hasNextNode; + using DSRDocumentTree::hasSiblingNodes; + using DSRDocumentTree::iterate; + using DSRDocumentTree::gotoRoot; + using DSRDocumentTree::gotoFirst; + using DSRDocumentTree::gotoLast; + using DSRDocumentTree::gotoPrevious; + using DSRDocumentTree::gotoNext; + using DSRDocumentTree::gotoParent; + using DSRDocumentTree::gotoChild; using DSRDocumentTree::gotoNamedNode; using DSRDocumentTree::gotoNextNamedNode; using DSRDocumentTree::gotoAnnotatedNode; diff --git a/dcmsr/include/dcmtk/dcmsr/dsrscovl.h b/dcmsr/include/dcmtk/dcmsr/dsrscovl.h index 75651fa8..1e9d852a 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrscovl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrscovl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -261,6 +261,8 @@ class DCMTK_DCMSR_EXPORT DSRSpatialCoordinatesValue DSRGraphicDataList GraphicDataList; /// Fiducial UID (VR=UI, VM=1, type 3) OFString FiducialUID; + /// Pixel Origin Interpretation (VR=CS, VM=1, type 1C) + // - tbd: conditional attribute not yet supported }; diff --git a/dcmsr/include/dcmtk/dcmsr/dsrsoprf.h b/dcmsr/include/dcmtk/dcmsr/dsrsoprf.h index f6620b44..92f1cb43 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrsoprf.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrsoprf.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2002-2015, OFFIS e.V. + * Copyright (C) 2002-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -234,6 +234,15 @@ class DCMTK_DCMSR_EXPORT DSRSOPInstanceReferenceList */ const OFString &getSOPClassUID(OFString &stringValue) const; + /** get name associated with the SOP class UID of the currently selected entry + ** @param stringValue reference to string variable in which the result is stored + * @param defaultName string value that is returned if the SOP class UID is unknown + ** @return reference to the resulting string (might be empty even if 'defaultName' is + * non-empty, e.g. in case no entry is currently selected) + */ + const OFString &getSOPClassName(OFString &stringValue, + const OFString &defaultName = "unknown SOP Class UID") const; + /** get the retrieve application entity title of the currently selected entry (optional). * The resulting string may contain multiple values separated by a backslash ("\"). ** @param stringValue reference to string variable in which the result is stored diff --git a/dcmsr/include/dcmtk/dcmsr/dsrspecc.h b/dcmsr/include/dcmtk/dcmsr/dsrspecc.h index 2e390b36..ca723c39 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrspecc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrspecc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2014, OFFIS e.V. + * Copyright (C) 2010-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,8 +33,10 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the - * Spectacle Prescription Report IOD +/** Class for checking the relationship content constraints of the Spectacle + * Prescription Report IOD. + * According to DICOM PS 3.3: "The document shall be constructed from TID 2020 + * (Spectacle Prescription Report) invoked at the root node." */ class DCMTK_DCMSR_EXPORT DSRSpectaclePrescriptionReportConstraintChecker : public DSRIODConstraintChecker @@ -60,10 +62,14 @@ class DCMTK_DCMSR_EXPORT DSRSpectaclePrescriptionReportConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return root template identifier (TID) "2020" + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_SpectaclePrescriptionReport) diff --git a/dcmsr/include/dcmtk/dcmsr/dsrstpl.h b/dcmsr/include/dcmtk/dcmsr/dsrstpl.h index 1b164359..6897418e 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrstpl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrstpl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -86,7 +86,9 @@ class DCMTK_DCMSR_EXPORT DSRSubTemplate */ virtual void clear(); - /** check whether the current internal state is valid + /** check whether the current internal state is valid. + * That means, whether both the internally stored subtree and the template + * identification are valid. ** @return OFTrue if valid, OFFalse otherwise */ virtual OFBool isValid() const; @@ -95,7 +97,7 @@ class DCMTK_DCMSR_EXPORT DSRSubTemplate * document tree starting from the root node ** @return always returns OFFalse since this class handles non-root templates only */ - OFBool isRootTemplate() const + inline OFBool isRootTemplate() const { return OFFalse; } @@ -103,7 +105,7 @@ class DCMTK_DCMSR_EXPORT DSRSubTemplate /** get read-only access to internally stored subtree. * This method is not "const" because the template identification is set/updated * automatically for the root node of the subtree (if applicable). - ** @return get constant reference to internally stored subtree + ** @return constant reference to internally stored subtree */ virtual const DSRDocumentSubTree &getTree(); @@ -125,8 +127,25 @@ class DCMTK_DCMSR_EXPORT DSRSubTemplate // --- introduce some methods from base class to public API + using DSRDocumentSubTree::isEmpty; + using DSRDocumentSubTree::isCursorValid; using DSRDocumentSubTree::print; + using DSRDocumentSubTree::writeXML; using DSRDocumentSubTree::countNodes; + using DSRDocumentSubTree::countChildNodes; + using DSRDocumentSubTree::hasParentNode; + using DSRDocumentSubTree::hasChildNodes; + using DSRDocumentSubTree::hasPreviousNode; + using DSRDocumentSubTree::hasNextNode; + using DSRDocumentSubTree::hasSiblingNodes; + using DSRDocumentSubTree::iterate; + using DSRDocumentSubTree::gotoRoot; + using DSRDocumentSubTree::gotoFirst; + using DSRDocumentSubTree::gotoLast; + using DSRDocumentSubTree::gotoPrevious; + using DSRDocumentSubTree::gotoNext; + using DSRDocumentSubTree::gotoParent; + using DSRDocumentSubTree::gotoChild; using DSRDocumentSubTree::gotoNamedNode; using DSRDocumentSubTree::gotoNextNamedNode; using DSRDocumentSubTree::gotoAnnotatedNode; diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtncsr.h b/dcmsr/include/dcmtk/dcmsr/dsrtncsr.h index 561131fe..4d731dfa 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtncsr.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtncsr.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -26,12 +26,11 @@ #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcmtk/ofstd/ofstring.h" #include "dcmtk/ofstd/ofstack.h" -#include "dcmtk/ofstd/oflist.h" #include "dcmtk/dcmsr/dsdefine.h" #include "dcmtk/dcmsr/dsrtypes.h" +#include "dcmtk/dcmsr/dsrposcn.h" #include "dcmtk/dcmsr/dsrtnant.h" @@ -62,10 +61,14 @@ template class DSRTreeNodeCursor */ DSRTreeNodeCursor(const DSRTreeNodeCursor &cursor); - /** constructor - ** @param node pointer to tree node used to initialize the cursor (set to this node) + /** constructor. + * See comments on setCursor(T*) method. + ** @param node pointer to tree node used to initialize the cursor + * @param position optional pointer to position counter that should be used to + * initialize the internal counter */ - DSRTreeNodeCursor(T *node); + DSRTreeNodeCursor(T *node, + const DSRPositionCounter *position = NULL); /** destructor */ @@ -77,13 +80,15 @@ template class DSRTreeNodeCursor */ DSRTreeNodeCursor &operator=(const DSRTreeNodeCursor &cursor); - /** assignment operator + /** assignment operator. + * See comments on setCursor(T*) method. ** @param node node to which the cursor should be set ** @return reference to modified cursor (this object) */ DSRTreeNodeCursor &operator=(T *node); - /** clear all member variables + /** clear all member variables. + * The cursor becomes invalid afterwards (same state as after default construction). */ virtual void clear(); @@ -104,27 +109,27 @@ template class DSRTreeNodeCursor /** check whether the current node has a parent ** @return OFTrue if the current node has a parent, OFFalse otherwise */ - OFBool hasParentNode() const; + inline OFBool hasParentNode() const; /** check whether the current node has any children ** @return OFTrue if the current node has any children, OFFalse otherwise */ - OFBool hasChildNodes() const; + inline OFBool hasChildNodes() const; /** check whether the current node has a preceding sibling ** @return OFTrue if the current node has a preceding sibling, OFFalse otherwise */ - OFBool hasPreviousNode() const; + inline OFBool hasPreviousNode() const; /** check whether the current node has a following sibling ** @return OFTrue if the current node has a following sibling, OFFalse otherwise */ - OFBool hasNextNode() const; + inline OFBool hasNextNode() const; /** check whether the current node has any siblings ** @return OFTrue if the current node has any siblings, OFFalse otherwise */ - OFBool hasSiblingNodes() const; + inline OFBool hasSiblingNodes() const; /** get pointer to current node ** @return pointer to current node (might be NULL) @@ -135,7 +140,7 @@ template class DSRTreeNodeCursor * Can be used to have a lookup to the parent node without changing the cursor. ** @return pointer to parent node (if any), NULL otherwise */ - virtual const T *getParentNode(); + virtual const T *getParentNode() const; /** get pointer to first child node. * Can be used to have a lookup to the first child node without changing the cursor. @@ -187,6 +192,14 @@ template class DSRTreeNodeCursor */ size_t goDown(); + /** @copydoc goUp() + */ + inline size_t gotoParent(); + + /** @copydoc goDown() + */ + inline size_t gotoChild(); + /** iterate over all nodes. Starts from current position! ** @param searchIntoSub flag indicating whether to search into sub-trees * ("deep search") or on the current level only @@ -221,13 +234,20 @@ template class DSRTreeNodeCursor * the navigation methods above do return this ID too. ** @return ID of the current node if valid, 0 otherwise */ - size_t getNodeID() const; + inline size_t getNodeID() const; /** get current level. * The level starts with 1 for the root node, then 2 for its child nodes, etc. ** @return number of the current level if valid, 0 otherwise */ - size_t getLevel() const; + inline size_t getLevel() const; + + /** get reference to internal position counter. + * Please note that this method allows for manipulating the internal position + * counter, so handle with care! + ** @return reference to internal position counter + */ + inline DSRPositionCounter &getPositionCounter(); /** get position string of the current node. * Specifies the position of each node by means of a dot separated string of @@ -240,8 +260,8 @@ template class DSRTreeNodeCursor * @param separator character used to separate the figures (default: '.') ** @return reference to the resulting position string (empty if invalid) */ - const OFString &getPosition(OFString &position, - const char separator = '.') const; + inline const OFString &getPosition(OFString &position, + const char separator = '.') const; protected: @@ -250,8 +270,19 @@ template class DSRTreeNodeCursor */ void clearNodeCursorStack(); + /** get cursor + ** @return reference to cursor (this object) + */ + inline const DSRTreeNodeCursor &getCursor() const; + + /** set cursor to specified object + ** @param cursor object to set this cursor to + */ + inline void setCursor(const DSRTreeNodeCursor &cursor); + /** set cursor to specified node. - * Clears the internal position list/stack and sets the position counter to 1. + * Clears the internal position counter and sets the position of the current level + * to 1 (if the passed 'node' is valid) or 0 (if the 'node' is invalid). ** @param node node to which the cursor should be set ** @return ID of the new current node if successful, 0 otherwise */ @@ -262,10 +293,8 @@ template class DSRTreeNodeCursor /// stack of node pointers. Used to store the cursor position of upper levels. OFStack NodeCursorStack; - /// current position within the current level - size_t Position; - /// list of position counters in upper levels - OFList PositionList; + /// counter for the current position within the current level and on upper levels + DSRPositionCounter Position; }; @@ -277,8 +306,7 @@ template DSRTreeNodeCursor::DSRTreeNodeCursor() : NodeCursor(NULL), NodeCursorStack(), - Position(0), - PositionList() + Position() { } @@ -287,19 +315,23 @@ template DSRTreeNodeCursor::DSRTreeNodeCursor(const DSRTreeNodeCursor &cursor) : NodeCursor(cursor.NodeCursor), NodeCursorStack(cursor.NodeCursorStack), - Position(cursor.Position), - PositionList(cursor.PositionList) + Position(cursor.Position) { } template -DSRTreeNodeCursor::DSRTreeNodeCursor(T *node) +DSRTreeNodeCursor::DSRTreeNodeCursor(T *node, + const DSRPositionCounter *position) : NodeCursor(node), NodeCursorStack(), - Position((node != NULL) ? 1 : 0), - PositionList() + Position() { + /* check whether a valid position counter is given */ + if ((position != NULL) && position->isValid()) + Position = *position; + else + Position.initialize(NodeCursor != NULL); } @@ -312,11 +344,7 @@ DSRTreeNodeCursor::~DSRTreeNodeCursor() template DSRTreeNodeCursor &DSRTreeNodeCursor::operator=(const DSRTreeNodeCursor &cursor) { - NodeCursor = cursor.NodeCursor; - NodeCursorStack = cursor.NodeCursorStack; - Position = cursor.Position; - /* copy position list (operator= is not private anymore in class OFList) */ - PositionList = cursor.PositionList; + setCursor(cursor); return *this; } @@ -334,8 +362,7 @@ void DSRTreeNodeCursor::clear() { NodeCursor = NULL; clearNodeCursorStack(); - Position = 0; - PositionList.clear(); + Position.clear(); } @@ -417,14 +444,11 @@ T *DSRTreeNodeCursor::getNode() const template -const T *DSRTreeNodeCursor::getParentNode() +const T *DSRTreeNodeCursor::getParentNode() const { T *node = NULL; if (hasParentNode()) - { - /* this method is not "const" because of OFStack.top() */ node = NodeCursorStack.top(); - } return node; } @@ -459,19 +483,31 @@ const T *DSRTreeNodeCursor::getNextNode() const } +template +const DSRTreeNodeCursor &DSRTreeNodeCursor::getCursor() const +{ + return *this; +} + + +template +void DSRTreeNodeCursor::setCursor(const DSRTreeNodeCursor &cursor) +{ + NodeCursor = cursor.NodeCursor; + NodeCursorStack = cursor.NodeCursorStack; + Position = cursor.Position; +} + + template size_t DSRTreeNodeCursor::setCursor(T *node) { size_t nodeID = 0; NodeCursor = node; - clearNodeCursorStack(); - PositionList.clear(); if (NodeCursor != NULL) - { nodeID = NodeCursor->getIdent(); - Position = 1; - } else - Position = 0; + clearNodeCursorStack(); + Position.initialize(NodeCursor != NULL); return nodeID; } @@ -558,11 +594,7 @@ size_t DSRTreeNodeCursor::goUp() { NodeCursor = cursor; nodeID = NodeCursor->getIdent(); - if (!PositionList.empty()) - { - Position = PositionList.back(); - PositionList.pop_back(); - } + Position.goUp(); } } } @@ -581,17 +613,27 @@ size_t DSRTreeNodeCursor::goDown() NodeCursorStack.push(NodeCursor); NodeCursor = NodeCursor->getDown(); nodeID = NodeCursor->getIdent(); - if (Position > 0) - { - PositionList.push_back(Position); - Position = 1; - } + Position.goDown(); } } return nodeID; } +template +size_t DSRTreeNodeCursor::gotoParent() +{ + return goUp(); +} + + +template +size_t DSRTreeNodeCursor::gotoChild() +{ + return goDown(); +} + + template size_t DSRTreeNodeCursor::iterate(const OFBool searchIntoSub) { @@ -604,11 +646,7 @@ size_t DSRTreeNodeCursor::iterate(const OFBool searchIntoSub) NodeCursorStack.push(NodeCursor); NodeCursor = NodeCursor->getDown(); nodeID = NodeCursor->getIdent(); - if (Position > 0) - { - PositionList.push_back(Position); - Position = 1; - } + Position.goDown(); } else if (NodeCursor->getNext() != NULL) { @@ -623,11 +661,7 @@ size_t DSRTreeNodeCursor::iterate(const OFBool searchIntoSub) { NodeCursor = NodeCursorStack.top(); NodeCursorStack.pop(); - if (!PositionList.empty()) - { - Position = PositionList.back(); - PositionList.pop_back(); - } + Position.goUp(); } else NodeCursor = NULL; } while ((NodeCursor != NULL) && (NodeCursor->getNext() == NULL)); @@ -747,28 +781,18 @@ size_t DSRTreeNodeCursor::getLevel() const } +template +DSRPositionCounter &DSRTreeNodeCursor::getPositionCounter() +{ + return Position; +} + + template const OFString &DSRTreeNodeCursor::getPosition(OFString &position, const char separator) const { - position.clear(); - if (Position > 0) - { - char stringBuf[20]; - const OFListConstIterator(size_t) endPos = PositionList.end(); - OFListConstIterator(size_t) iterator = PositionList.begin(); - while (iterator != endPos) - { - if (!position.empty()) - position += separator; - position += DSRTypes::numberToString(*iterator, stringBuf); - iterator++; - } - if (!position.empty()) - position += separator; - position += DSRTypes::numberToString(Position, stringBuf); - } - return position; + return Position.getString(position, separator); } diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtpltn.h b/dcmsr/include/dcmtk/dcmsr/dsrtpltn.h new file mode 100644 index 00000000..0803f4cc --- /dev/null +++ b/dcmsr/include/dcmtk/dcmsr/dsrtpltn.h @@ -0,0 +1,248 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmsr + * + * Author: Joerg Riesmeier + * + * Purpose: + * classes: DSRIncludedTemplateTreeNode + * + */ + + +#ifndef DSRTPLTN_H +#define DSRTPLTN_H + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsrdoctn.h" +#include "dcmtk/dcmsr/dsrstpl.h" + + +/*---------------------* + * class declaration * + *---------------------*/ + +/** Class for managing included templates (internal) + */ +class DCMTK_DCMSR_EXPORT DSRIncludedTemplateTreeNode + : public DSRDocumentTreeNode +{ + + public: + + /** constructor. + * Also sets the template identification if available from 'referencedTemplate'. + ** @param referencedTemplate shared pointer to template that should be managed + * @param defaultRelType default relationship type of the included template + */ + DSRIncludedTemplateTreeNode(const DSRSharedSubTemplate &referencedTemplate, + const E_RelationshipType defaultRelType); + + /** copy constructor. + * Please note that the comments on the copy constructor of the base class + * DSRDocumentTreeNode apply. + ** @param node tree node to be copied + */ + DSRIncludedTemplateTreeNode(const DSRIncludedTemplateTreeNode &node); + + /** destructor + */ + virtual ~DSRIncludedTemplateTreeNode(); + + /** clone this tree node. + * Internally, the copy constructor is used, so the corresponding comments apply. + ** @return copy of this tree node + */ + virtual DSRIncludedTemplateTreeNode *clone() const; + + /** clear all member variables. + * Please note that the content item becomes invalid afterwards. + */ + virtual void clear(); + + /** check whether the content item is valid. + * The content item is valid if the base class is valid and the reference to the + * included template is valid. + ** @return OFTrue if tree node is valid, OFFalse otherwise + */ + virtual OFBool isValid() const; + + /** check whether the value of the content item, i.e.\ the reference to the included + * template is valid. See getValue(). + ** @return OFTrue if the value is valid, OFFalse otherwise + */ + virtual OFBool hasValidValue() const; + + /** check whether the content is short. + * This method is used to check whether the rendered output of this content item can + * be expanded inline or not (used for renderHTML()). + ** @param flags flag used to customize the output (see DSRTypes::HF_xxx) + ** @return OFTrue if the content is short, OFFalse otherwise + */ + virtual OFBool isShort(const size_t flags) const; + + /** print content item. + * A typical output looks like this: # INCLUDE TID 1600 (DCMR) + ** @param stream output stream to which the content item should be printed + * @param flags flag used to customize the output (see DSRTypes::PF_xxx) + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition print(STD_NAMESPACE ostream &stream, + const size_t flags) const; + + /** write content of included template in XML format + ** @param stream output stream to which the XML document is written + * @param flags flag used to customize the output (see DSRTypes::XF_xxx) + ** @return status, EC_Normal if successful (or included template is empty, so there + * is nothing to do), an error code otherwise + */ + virtual OFCondition writeXML(STD_NAMESPACE ostream &stream, + const size_t flags) const; + + /** get reference to included template, i.e.\ the value of this content item + ** @return reference to included template. The managed pointer might be NULL. + */ + inline const DSRSharedSubTemplate &getValue() const + { + return ReferencedTemplate; + } + + /** set reference to included template, i.e.\ the value of this content item. + * Currently, no checks are performed on the passed 'referencedTemplate' parameter. + ** @param referencedTemplate shared pointer to template that should be managed + ** @return status, EC_Normal if successful, an error code otherwise + */ + virtual OFCondition setValue(const DSRSharedSubTemplate &referencedTemplate); + + + protected: + + /** read content item from dataset + ** @param dataset dummy parameter + * @param constraintChecker dummy parameter + * @param flags dummy parameter + ** @return always returns SR_EC_CannotProcessIncludedTemplates + */ + virtual OFCondition read(DcmItem &dataset, + const DSRIODConstraintChecker *constraintChecker, + const size_t flags); + + /** write content item to dataset + ** @param dataset dummy parameter + * @param markedItems dummy parameter + ** @return always returns SR_EC_CannotProcessIncludedTemplates + */ + virtual OFCondition write(DcmItem &dataset, + DcmStack *markedItems = NULL); + + /** read general XML document tree node data + ** @param doc dummy parameter + * @param cursor dummy parameter + * @param documentType dummy parameter + * @param flags dummy parameter + ** @return always returns SR_EC_CannotProcessIncludedTemplates + */ + virtual OFCondition readXML(const DSRXMLDocument &doc, + DSRXMLCursor cursor, + const E_DocumentType documentType, + const size_t flags); + + /** render content item in HTML/XHTML format + ** @param docStream dummy parameter + * @param annexStream dummy parameter + * @param nestingLevel dummy parameter + * @param annexNumber dummy parameter + * @param flags dummy parameter + ** @return always returns SR_EC_CannotProcessIncludedTemplates + */ + virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream, + STD_NAMESPACE ostream &annexStream, + const size_t nestingLevel, + size_t &annexNumber, + const size_t flags) const; + + /** set the concept name + ** @param conceptName dummy parameter + * @param check dummy parameter + ** @return always returns EC_IllegalCall, since this method should not be called + */ + virtual OFCondition setConceptName(const DSRCodedEntryValue &conceptName, + const OFBool check = OFTrue); + + /** set observation date/time + ** @param observationDateTime dummy parameter + * @param check dummy parameter + ** @return always returns EC_IllegalCall, since this method should not be called + */ + virtual OFCondition setObservationDateTime(const OFString &observationDateTime, + const OFBool check = OFTrue); + + /** set observation date/time from element + ** @param delem dummy parameter + * @param pos dummy parameter + * @param check dummy parameter + ** @return always returns EC_IllegalCall, since this method should not be called + */ + virtual OFCondition setObservationDateTime(const DcmElement &delem, + const unsigned long pos = 0, + const OFBool check = OFTrue); + + /** set observation date/time from dataset + ** @param dataset dummy parameter + * @param tagKey dummy parameter + * @param pos dummy parameter + * @param check dummy parameter + ** @return always returns EC_IllegalCall, since this method should not be called + */ + virtual OFCondition setObservationDateTime(DcmItem &dataset, + const DcmTagKey &tagKey, + const unsigned long pos = 0, + const OFBool check = OFTrue); + + /** set observation unique identifier + ** @param observationUID dummy parameter + * @param check dummy parameter + ** @return always returns EC_IllegalCall, since this method should not be called + */ + virtual OFCondition setObservationUID(const OFString &observationUID, + const OFBool check = OFTrue); + + /** set template identifier and mapping resource + ** @param templateIdentifier dummy parameter + * @param mappingResource dummy parameter + * @param mappingResourceUID dummy parameter + * @param check dummy parameter + ** @return always returns EC_IllegalCall, since this method should not be called + */ + virtual OFCondition setTemplateIdentification(const OFString &templateIdentifier, + const OFString &mappingResource, + const OFString &mappingResourceUID = "", + const OFBool check = OFTrue); + + + private: + + /// shared pointer to included template that is managed by this class + DSRSharedSubTemplate ReferencedTemplate; + + + // --- declaration of default constructor and assignment operator + + DSRIncludedTemplateTreeNode(); + DSRIncludedTemplateTreeNode &operator=(const DSRIncludedTemplateTreeNode &); +}; + + +#endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtree.h b/dcmsr/include/dcmtk/dcmsr/dsrtree.h index 40ff00ef..86d1b7e5 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtree.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtree.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -224,7 +224,7 @@ template class DSRTree /** check whether tree has any nodes ** @return OFTrue if tree is empty, OFFalse otherwise */ - OFBool isEmpty() const; + inline OFBool isEmpty() const; /** count number of nodes in the tree. * This method iterates over all nodes that are stored in the tree. @@ -236,12 +236,12 @@ template class DSRTree * The node ID uniquely identifies a content item in the document tree. ** @return ID of the next node to be created (should never be 0) */ - size_t getNextNodeID() const; + inline size_t getNextNodeID() const; /** set internal cursor to root node ** @return ID of root node if successful, 0 otherwise */ - size_t gotoRoot(); + inline size_t gotoRoot(); /** set internal cursor to specified node ** @param searchID ID of the node to set the cursor to @@ -275,14 +275,24 @@ template class DSRTree /** add new node to the current one. * Please note that no copy of the given node is created. Therefore, the node * should be created with new() - do not use a reference to a local variable. - * If the node could be added successfully the cursor is set to it automatically. + * If the node could be added successfully, the cursor is set to it automatically. ** @param node pointer to the new node to be added * @param addMode flag specifying at which position to add the new node - ** @return ID of the new added node if successful, 0 otherwise + ** @return ID of the new node if successful, 0 otherwise */ virtual size_t addNode(T *node, const E_AddMode addMode = AM_afterCurrent); + /** replace current node by the given one. + * Please note that no copy of the given node is created. Therefore, the node + * should be created with new() - do not use a reference to a local variable. If + * the node could be replaced successfully, the "old" node (and all of its child + * nodes) are deleted, and the cursor is set to the new one. + ** @param node pointer to the new node to replace the current one + ** @return ID of the new node if successful, 0 otherwise + */ + virtual size_t replaceNode(T *node); + /** extract current node from tree. * Please note that not only the specified node but also all of its child nodes are * extracted from the tree. The cursor is set automatically to a new valid position. @@ -348,6 +358,12 @@ template class DSRTree */ virtual T *getRoot() const; + /** delete a tree given by its root node. + * Please note that the given 'rootNode' pointer becomes invalid afterwards. + ** @param rootNode pointer to the root node of the tree to be deleted + */ + virtual void deleteTreeFromRootNode(T *rootNode); + private: @@ -549,12 +565,9 @@ void DSRTree::clearAnnotations() DSRTreeNodeCursor cursor(RootNode); if (cursor.isValid()) { - T *node; /* iterate over all nodes */ do { - node = cursor.getNode(); - if (node != NULL) - node->clearAnnotation(); + cursor.getNode()->clearAnnotation(); } while (cursor.iterate()); } } @@ -684,14 +697,13 @@ size_t DSRTree::addNode(T *node, else if (!this->NodeCursorStack.empty() && (this->Position == 1)) this->NodeCursorStack.top()->Down = node; this->NodeCursor->Prev = lastNode; + /* check whether root node has been replaced */ + if (this->NodeCursor == this->RootNode) + this->RootNode = node; break; case AM_belowCurrent: /* store old position */ - if (this->Position > 0) - { - this->PositionList.push_back(this->Position); - this->Position = 1; - } + this->Position.goDown(); this->NodeCursorStack.push(this->NodeCursor); /* parent node has already child nodes */ if (this->NodeCursor->Down != NULL) @@ -712,11 +724,7 @@ size_t DSRTree::addNode(T *node, break; case AM_belowCurrentBeforeFirstChild: /* store old position */ - if (this->Position > 0) - { - this->PositionList.push_back(this->Position); - this->Position = 1; - } + this->Position.goDown(); this->NodeCursorStack.push(this->NodeCursor); /* parent node has already child nodes */ if (this->NodeCursor->Down != NULL) @@ -733,8 +741,9 @@ size_t DSRTree::addNode(T *node, } this->NodeCursor = node; } else { + /* originally, the tree was empty */ this->RootNode = this->NodeCursor = node; - this->Position = 1; + this->Position.initialize(); } nodeID = this->NodeCursor->getIdent(); } @@ -742,6 +751,56 @@ size_t DSRTree::addNode(T *node, } +template +size_t DSRTree::replaceNode(T *node) +{ + size_t nodeID = 0; + /* make sure that 'node' points to a single node or to the "root" of a subtree */ + if ((node != NULL) && (node->Prev == NULL)) + { + if (this->NodeCursor != NULL) + { + /* connect to previous node */ + if (this->NodeCursor->Prev != NULL) + { + (this->NodeCursor->Prev)->Next = node; + /* remove reference to former sibling */ + this->NodeCursor->Prev = NULL; + } else { + /* is there any direct parent node? */ + if (!this->NodeCursorStack.empty()) + { + DSRTreeNode *parent = this->NodeCursorStack.top(); + if (parent != NULL) + parent->Down = node; + } + } + /* connect to next node */ + if (this->NodeCursor->Next != NULL) + { + DSRTreeNode *lastNode = node; + /* goto last node (sibling), if any */ + while (lastNode->Next != NULL) + lastNode = lastNode->Next; + (this->NodeCursor->Next)->Prev = lastNode; + lastNode->Next = this->NodeCursor->Next; + /* remove reference to former sibling */ + this->NodeCursor->Next = NULL; + } + /* check whether root node has been replaced */ + if (this->NodeCursor == this->RootNode) + this->RootNode = node; + /* free memory of old (now replaced) node */ + deleteTreeFromRootNode(this->NodeCursor); + /* set cursor to new node */ + this->NodeCursor = node; + nodeID = node->getIdent(); + } + } + return nodeID; +} + + template T *DSRTree::extractNode() { @@ -783,20 +842,18 @@ T *DSRTree::extractNode() { this->NodeCursor = this->NodeCursorStack.top(); this->NodeCursorStack.pop(); - this->Position = this->PositionList.back(); - this->PositionList.pop_back(); + this->Position.goUp(); /* should never be NULL, but ... */ if (this->NodeCursor != NULL) this->NodeCursor->Down = NULL; else { this->RootNode = NULL; // tree is now empty - this->Position = 0; + this->Position.clear(); } } else { this->RootNode = this->NodeCursor = NULL; // tree is now empty - this->Position = 0; - this->PositionList.clear(); + this->Position.clear(); } } /* remove references to former siblings */ @@ -893,4 +950,13 @@ T *DSRTree::getRoot() const } +template +void DSRTree::deleteTreeFromRootNode(T *rootNode) +{ + /* create a temporary tree object from the given node, */ + /* the content will be deleted during destruction */ + DSRTree tree(rootNode); +} + + #endif diff --git a/dcmsr/include/dcmtk/dcmsr/dsrtypes.h b/dcmsr/include/dcmtk/dcmsr/dsrtypes.h index 2152db5c..4eb327da 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrtypes.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrtypes.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -213,6 +213,15 @@ extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_CodedEntryInStandardConte /// normal: a given coded entry is known as an extension of the context group extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_CodedEntryIsExtensionOfContextGroup; +/// error: a value violates the value set constraint of a particular template row +extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_ValueSetConstraintViolated; + +/// error: the internally managed structure of a template class is invalid +extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_InvalidTemplateStructure; + +/// error: cannot process document tree with included templates +extern DCMTK_DCMSR_EXPORT const OFConditionConst SR_EC_CannotProcessIncludedTemplates; + //@} @@ -381,6 +390,9 @@ class DCMTK_DCMSR_EXPORT DSRTypes /// read/write: template identification element encloses content items static const size_t XF_templateElementEnclosesItems; + /// write: add comments with details at beginning/end of included template (might be useful for debugging purposes) + static const size_t XF_addCommentsForIncludedTemplate; + /// shortcut: combines all XF_xxxAsAttribute write flags (see above) static const size_t XF_encodeEverythingAsAttribute; //@} @@ -431,6 +443,9 @@ class DCMTK_DCMSR_EXPORT DSRTypes /// print annotation of a content item (optional, e.g. user-defined information) static const size_t PF_printAnnotation; + /// do not print internal "included template" nodes (position counter is still increased) + static const size_t PF_hideIncludedTemplateNodes; + /// shortcut: print all codes (combines all PF_printXxxCodes flags, see above) static const size_t PF_printAllCodes; //@} @@ -492,8 +507,10 @@ class DCMTK_DCMSR_EXPORT DSRTypes DT_RadiopharmaceuticalRadiationDoseSR, /// DICOM IOD: Extensible SR (not yet implemented) DT_ExtensibleSR, + /// DICOM IOD: Acquisition Context SR + DT_AcquisitionContextSR, /// internal type used to mark the last entry - DT_last = DT_ExtensibleSR + DT_last = DT_AcquisitionContextSR }; /** SR relationship types @@ -562,8 +579,10 @@ class DCMTK_DCMSR_EXPORT DSRTypes VT_Container, /// internal type used to indicate by-reference relationships VT_byReference, + /// internal type used to indicate (enclose) included templates + VT_includedTemplate, /// internal type used to mark the last entry - VT_last = VT_byReference + VT_last = VT_includedTemplate }; /** Softcopy presentation state types. Used for content item IMAGE. @@ -746,10 +765,18 @@ class DCMTK_DCMSR_EXPORT DSRTypes CS_Hebrew, /// ISO-IR 148: Latin alphabet No. 5 CS_Latin5, - /// ISO-IR 13: Japanese (Katakana/Romaji) - CS_Japanese, /// ISO-IR 166: Thai CS_Thai, + /// ISO-IR 13/87: Japanese (Katakana/Romaji/Kanji) + CS_Japanese, + /// ISO-IR 6/149: Korean (Hangul/Hanja) + CS_Korean, + /// ISO-IR 6/58: Chinese + CS_ChineseISO, + /// GB18030: Chinese + CS_ChineseGB18030, + /// GBK: Chinese + CS_ChineseGBK, /// UTF-8: Unicode in UTF-8 CS_UTF8, /// internal type used to mark the last entry diff --git a/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h b/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h index 767d6595..5af36b07 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrwavvl.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -91,8 +91,8 @@ class DCMTK_DCMSR_EXPORT DSRWaveformReferenceValue virtual OFBool isShort(const size_t flags) const; /** print waveform reference. - * The output of a typical waveform reference value looks like this: (HemodynamicWaveform - * Storage,"1.2.3") + * The output of a typical waveform reference value looks like this: + * (HemodynamicWaveformStorage,"1.2.3") * If the SOP class UID is unknown, the UID is printed instead of the related name. ** @param stream output stream to which the image reference value should be printed * @param flags flag used to customize the output (see DSRTypes::PF_xxx) @@ -204,7 +204,7 @@ class DCMTK_DCMSR_EXPORT DSRWaveformReferenceValue /** check the specified SOP class UID for validity. * This method further specializes the checks performed in the base class * DSRCompositeReferenceValue. All waveform SOP classes that are defined - * in DICOM PS 3.6-2014a are allowed. + * in DICOM PS 3.6-2015c are allowed. ** @param sopClassUID SOP class UID to be checked ** @return status, EC_Normal if value is valid, an error code otherwise */ diff --git a/dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h b/dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h index 0f7efa4a..5b1fb82e 100644 --- a/dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h +++ b/dcmsr/include/dcmtk/dcmsr/dsrxrdcc.h @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2005-2014, OFFIS e.V. + * Copyright (C) 2005-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -33,7 +33,13 @@ * class declaration * *---------------------*/ -/** Class for checking the relationship content constraints of the X-Ray Radiation Dose SR IOD +/** Class for checking the relationship content constraints of the X-Ray Radiation Dose + * SR IOD. + * According to DICOM PS 3.3: "The document may be constructed from Baseline TID 10001 + * (Projection X-Ray Radiation Dose) or Baseline TID 10011 (CT Radiation Dose) invoked + * at the root node. Note: This IOD maybe used with other Templates defined for Dose + * Reporting. Such other Templates may be specialized for specific modalities or + * future dose measurement techniques." */ class DCMTK_DCMSR_EXPORT DSRXRayRadiationDoseSRConstraintChecker : public DSRIODConstraintChecker @@ -59,10 +65,14 @@ class DCMTK_DCMSR_EXPORT DSRXRayRadiationDoseSRConstraintChecker */ virtual OFBool isTemplateSupportRequired() const; - /** get identifier of the root template - ** @return always returns NULL (no template required) + /** get identifier and mapping resource of the root template (if any) + ** @param templateIdentifier identifier of the root template (might be empty) + * @param mappingResource mapping resource that defines the root template + * (might be empty) + ** @return status, EC_Normal if successful, an error code otherwise */ - virtual const char *getRootTemplateIdentifier() const; + virtual OFCondition getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const; /** get the associated document type of the SR IOD ** @return document type (DSRTypes::DT_XRayRadiationDoseSR) diff --git a/dcmsr/libcmr/CMakeLists.txt b/dcmsr/libcmr/CMakeLists.txt index c31fd8f9..8c670bae 100644 --- a/dcmsr/libcmr/CMakeLists.txt +++ b/dcmsr/libcmr/CMakeLists.txt @@ -1,4 +1,4 @@ # create library from source files -DCMTK_ADD_LIBRARY(cmr init logger srnumvl tid1001 tid1204 tid1600 cid11 cid29 cid29e cid42 cid100 cid244 cid244e cid4020 cid4021 cid4031 cid4031e cid5000 cid5001 cid7021 cid7445 cid7452 cid7453 cid10013 cid10013e cid10033 cid10033e) +DCMTK_ADD_LIBRARY(cmr init logger srnumvl tid1001 tid1204 tid1411 tid1500 tid1600 cid11 cid29 cid29e cid42 cid100 cid244 cid244e cid4020 cid4021 cid4031 cid4031e cid5000 cid5001 cid6147 cid7021 cid7181 cid7445 cid7452 cid7453 cid7464 cid7469 cid10013 cid10013e cid10033 cid10033e) DCMTK_TARGET_LINK_MODULES(cmr dcmsr) diff --git a/dcmsr/libcmr/Makefile.dep b/dcmsr/libcmr/Makefile.dep index 8e8a32e7..69f525a8 100644 --- a/dcmsr/libcmr/Makefile.dep +++ b/dcmsr/libcmr/Makefile.dep @@ -41,6 +41,8 @@ cid100.o: cid100.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -109,6 +111,7 @@ cid100.o: cid100.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -156,6 +159,8 @@ cid10013.o: cid10013.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -224,6 +229,7 @@ cid10013.o: cid10013.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -272,6 +278,8 @@ cid10013e.o: cid10013e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -340,6 +348,7 @@ cid10013e.o: cid10013e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -387,6 +396,8 @@ cid10033.o: cid10033.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -455,6 +466,7 @@ cid10033.o: cid10033.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -503,6 +515,8 @@ cid10033e.o: cid10033e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -571,6 +585,7 @@ cid10033e.o: cid10033e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -618,6 +633,8 @@ cid11.o: cid11.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -686,6 +703,7 @@ cid11.o: cid11.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -733,6 +751,8 @@ cid244.o: cid244.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -801,6 +821,7 @@ cid244.o: cid244.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -849,6 +870,8 @@ cid244e.o: cid244e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -917,6 +940,7 @@ cid244e.o: cid244e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -964,6 +988,8 @@ cid29.o: cid29.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1032,6 +1058,7 @@ cid29.o: cid29.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1080,6 +1107,8 @@ cid29e.o: cid29e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1148,6 +1177,7 @@ cid29e.o: cid29e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1195,6 +1225,8 @@ cid4020.o: cid4020.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1263,6 +1295,7 @@ cid4020.o: cid4020.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1310,6 +1343,8 @@ cid4021.o: cid4021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1378,6 +1413,7 @@ cid4021.o: cid4021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1425,6 +1461,8 @@ cid4031.o: cid4031.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1493,6 +1531,7 @@ cid4031.o: cid4031.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1541,6 +1580,8 @@ cid4031e.o: cid4031e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1609,6 +1650,7 @@ cid4031e.o: cid4031e.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1656,6 +1698,8 @@ cid42.o: cid42.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1724,6 +1768,7 @@ cid42.o: cid42.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1771,6 +1816,8 @@ cid5000.o: cid5000.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1839,6 +1886,7 @@ cid5000.o: cid5000.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -1886,6 +1934,8 @@ cid5001.o: cid5001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1954,6 +2004,125 @@ cid5001.o: cid5001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmsr/dsdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../include/dcmtk/dcmsr/cmr/define.h +cid6147.o: cid6147.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/cid6147.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -2001,6 +2170,480 @@ cid7021.o: cid7021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmsr/dsdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../include/dcmtk/dcmsr/cmr/define.h +cid7181.o: cid7181.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/cid7181.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmsr/dsdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../include/dcmtk/dcmsr/cmr/define.h +cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmsr/dsdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../include/dcmtk/dcmsr/cmr/define.h +cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/cid7452.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmsr/dsdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../include/dcmtk/dcmsr/cmr/define.h +cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2069,12 +2712,13 @@ cid7021.o: cid7021.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/cmr/define.h -cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \ +cid7464.o: cid7464.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/cid7464.h ../include/dcmtk/dcmsr/dsrctxgr.h \ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -2116,6 +2760,8 @@ cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2184,12 +2830,13 @@ cid7445.o: cid7445.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/cmr/define.h -cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/cid7452.h ../include/dcmtk/dcmsr/dsrctxgr.h \ +cid7469.o: cid7469.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/cid7469.h ../include/dcmtk/dcmsr/dsrctxgr.h \ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ @@ -2231,6 +2878,8 @@ cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2299,22 +2948,24 @@ cid7452.o: cid7452.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/cmr/define.h -cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/dsrctxgr.h \ +init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/init.h ../include/dcmtk/dcmsr/cmr/define.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../include/dcmtk/dcmsr/cmr/cid11.h ../include/dcmtk/dcmsr/dsrctxgr.h \ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ @@ -2346,6 +2997,8 @@ cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2414,23 +3067,82 @@ cid7453.o: cid7453.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../include/dcmtk/dcmsr/cmr/define.h -init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/init.h ../include/dcmtk/dcmsr/cmr/define.h \ + ../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/cmr/cid42.h \ + ../include/dcmtk/dcmsr/cmr/cid100.h ../include/dcmtk/dcmsr/cmr/cid244.h \ + ../include/dcmtk/dcmsr/cmr/cid4020.h \ + ../include/dcmtk/dcmsr/cmr/cid4021.h \ + ../include/dcmtk/dcmsr/cmr/cid4031.h \ + ../include/dcmtk/dcmsr/cmr/cid5000.h \ + ../include/dcmtk/dcmsr/cmr/cid5001.h \ + ../include/dcmtk/dcmsr/cmr/cid6147.h \ + ../include/dcmtk/dcmsr/cmr/cid7021.h \ + ../include/dcmtk/dcmsr/cmr/cid7181.h \ + ../include/dcmtk/dcmsr/cmr/cid7445.h \ + ../include/dcmtk/dcmsr/cmr/cid7452.h \ + ../include/dcmtk/dcmsr/cmr/cid7453.h \ + ../include/dcmtk/dcmsr/cmr/cid7464.h \ + ../include/dcmtk/dcmsr/cmr/cid7469.h \ + ../include/dcmtk/dcmsr/cmr/cid10013.h \ + ../include/dcmtk/dcmsr/cmr/cid10033.h +logger.o: logger.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/logger.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofcast.h \ ../../ofstd/include/dcmtk/ofstd/ofexport.h \ ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../include/dcmtk/dcmsr/cmr/cid11.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../include/dcmtk/dcmsr/cmr/define.h +srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ @@ -2462,6 +3174,8 @@ init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2530,24 +3244,18 @@ init.o: init.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/cmr/cid42.h \ - ../include/dcmtk/dcmsr/cmr/cid100.h ../include/dcmtk/dcmsr/cmr/cid244.h \ - ../include/dcmtk/dcmsr/cmr/cid4020.h \ - ../include/dcmtk/dcmsr/cmr/cid4021.h \ - ../include/dcmtk/dcmsr/cmr/cid4031.h \ - ../include/dcmtk/dcmsr/cmr/cid5000.h \ - ../include/dcmtk/dcmsr/cmr/cid5001.h \ - ../include/dcmtk/dcmsr/cmr/cid7021.h \ - ../include/dcmtk/dcmsr/cmr/cid7445.h \ - ../include/dcmtk/dcmsr/cmr/cid7452.h \ - ../include/dcmtk/dcmsr/cmr/cid7453.h \ - ../include/dcmtk/dcmsr/cmr/cid10013.h \ - ../include/dcmtk/dcmsr/cmr/cid10033.h -logger.o: logger.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/logger.h \ + ../include/dcmtk/dcmsr/cmr/cid42.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/cmr/define.h +tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/tid1001.h ../include/dcmtk/dcmsr/dsrstpl.h \ + ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \ + ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ @@ -2586,10 +3294,100 @@ logger.o: logger.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ - ../include/dcmtk/dcmsr/cmr/define.h -srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/dsrnumvl.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ + ../../ofstd/include/dcmtk/ofstd/ofstack.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ + ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ + ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrsc3vl.h \ + ../include/dcmtk/dcmsr/dsrsc3gr.h ../include/dcmtk/dcmsr/dsrtcovl.h \ + ../include/dcmtk/dcmsr/dsrtcodt.h ../include/dcmtk/dcmsr/dsrtcosp.h \ + ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ + ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ + ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid7445.h \ + ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid7452.h \ + ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/codes/dcm.h +tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/tid1204.h ../include/dcmtk/dcmsr/dsrstpl.h \ + ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \ + ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ @@ -2630,6 +3428,8 @@ srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2698,13 +3498,28 @@ srnumvl.o: srnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmsr/dsdefine.h \ + ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ + ../../ofstd/include/dcmtk/ofstd/ofstack.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../include/dcmtk/dcmsr/cmr/cid42.h ../include/dcmtk/dcmsr/dsrctxgr.h \ - ../include/dcmtk/dcmsr/cmr/define.h -tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/tid1001.h ../include/dcmtk/dcmsr/dsrstpl.h \ + ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ + ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ + ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrsc3vl.h \ + ../include/dcmtk/dcmsr/dsrsc3gr.h ../include/dcmtk/dcmsr/dsrtcovl.h \ + ../include/dcmtk/dcmsr/dsrtcodt.h ../include/dcmtk/dcmsr/dsrtcosp.h \ + ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ + ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ + ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid5000.h \ + ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid5001.h \ + ../include/dcmtk/dcmsr/codes/dcm.h +tid1411.o: tid1411.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/tid1411.h ../include/dcmtk/dcmsr/dsrstpl.h \ ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \ ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -2747,6 +3562,8 @@ tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2815,11 +3632,12 @@ tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -2829,12 +3647,19 @@ tid1001.o: tid1001.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \ - ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid7445.h \ - ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid7452.h \ - ../include/dcmtk/dcmsr/cmr/cid7453.h ../include/dcmtk/dcmsr/codes/dcm.h -tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/cmr/tid1204.h ../include/dcmtk/dcmsr/dsrstpl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/cmr/define.h \ + ../include/dcmtk/dcmsr/cmr/srnumvlu.h \ + ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/cmr/cid42.h \ + ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid6147.h \ + ../include/dcmtk/dcmsr/cmr/cid7181.h \ + ../include/dcmtk/dcmsr/cmr/cid7464.h \ + ../include/dcmtk/dcmsr/cmr/cid7469.h ../include/dcmtk/dcmsr/cmr/logger.h \ + ../include/dcmtk/dcmsr/codes/dcm.h ../include/dcmtk/dcmsr/codes/ncit.h \ + ../include/dcmtk/dcmsr/codes/srt.h ../include/dcmtk/dcmsr/codes/umls.h +tid1500.o: tid1500.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/cmr/tid1500.h ../include/dcmtk/dcmsr/dsrrtpl.h \ ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \ ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -2877,6 +3702,8 @@ tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2945,11 +3772,12 @@ tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -2959,10 +3787,29 @@ tid1204.o: tid1204.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \ - ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid5000.h \ - ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid5001.h \ - ../include/dcmtk/dcmsr/codes/dcm.h + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/cmr/define.h \ + ../include/dcmtk/dcmsr/cmr/tid1001.h \ + ../include/dcmtk/dcmsr/cmr/cid7445.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/cmr/cid7452.h \ + ../include/dcmtk/dcmsr/cmr/cid7453.h \ + ../include/dcmtk/dcmsr/cmr/tid1204.h \ + ../include/dcmtk/dcmsr/cmr/cid5000.h \ + ../include/dcmtk/dcmsr/cmr/cid5001.h \ + ../include/dcmtk/dcmsr/cmr/tid1411.h \ + ../include/dcmtk/dcmsr/cmr/srnumvlu.h \ + ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/cmr/cid42.h \ + ../include/dcmtk/dcmsr/cmr/tid1600.h \ + ../include/dcmtk/dcmsr/cmr/cid4020.h \ + ../include/dcmtk/dcmsr/cmr/cid4021.h ../include/dcmtk/dcmsr/cmr/cid100.h \ + ../include/dcmtk/dcmsr/cmr/cid6147.h \ + ../include/dcmtk/dcmsr/cmr/cid7021.h \ + ../include/dcmtk/dcmsr/cmr/cid7181.h \ + ../include/dcmtk/dcmsr/cmr/cid7464.h \ + ../include/dcmtk/dcmsr/cmr/cid7469.h ../include/dcmtk/dcmsr/cmr/logger.h \ + ../include/dcmtk/dcmsr/codes/dcm.h ../include/dcmtk/dcmsr/codes/umls.h \ + ../include/dcmtk/dcmsr/dsrtpltn.h tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/cmr/tid1600.h ../include/dcmtk/dcmsr/dsrstpl.h \ ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrdocst.h \ @@ -3007,6 +3854,8 @@ tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3075,11 +3924,12 @@ tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -3089,9 +3939,12 @@ tid1600.o: tid1600.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \ - ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid29e.h \ - ../include/dcmtk/dcmsr/cmr/cid29.h ../include/dcmtk/dcmsr/dsrctxgr.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/cmr/define.h ../include/dcmtk/dcmsr/cmr/cid4020.h \ + ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/cmr/cid4021.h \ + ../include/dcmtk/dcmsr/cmr/srnumvl.h ../include/dcmtk/dcmsr/cmr/cid42.h \ + ../include/dcmtk/dcmsr/cmr/cid29e.h ../include/dcmtk/dcmsr/cmr/cid29.h \ ../include/dcmtk/dcmsr/cmr/cid244e.h ../include/dcmtk/dcmsr/cmr/cid244.h \ ../include/dcmtk/dcmsr/cmr/cid4031e.h \ ../include/dcmtk/dcmsr/cmr/cid4031.h \ diff --git a/dcmsr/libcmr/Makefile.in b/dcmsr/libcmr/Makefile.in index 9ecf36fa..f0ea9941 100644 --- a/dcmsr/libcmr/Makefile.in +++ b/dcmsr/libcmr/Makefile.in @@ -21,10 +21,11 @@ LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmdatadir)/incl -I$(dcmsr)/include LOCALDEFS = -objs = init.o logger.o srnumvl.o tid1001.o tid1204.o tid1600.o \ +objs = init.o logger.o srnumvl.o tid1001.o tid1204.o tid1411.o tid1500.o tid1600.o \ cid11.o cid29.o cid29e.o cid42.o cid100.o cid244.o cid244e.o cid4020.o \ - cid4021.o cid4031.o cid4031e.o cid5000.o cid5001.o cid7021.o cid7445.o \ - cid7452.o cid7453.o cid10013.o cid10013e.o cid10033.o cid10033e.o + cid4021.o cid4031.o cid4031e.o cid5000.o cid5001.o cid6147.o cid7021.o \ + cid7181.o cid7445.o cid7452.o cid7453.o cid7464.o cid7469.o cid10013.o \ + cid10013e.o cid10033.o cid10033e.o library = libcmr.$(LIBEXT) diff --git a/dcmsr/libcmr/cid100.cc b/dcmsr/libcmr/cid100.cc index 01647574..b24376af 100644 --- a/dcmsr/libcmr/cid100.cc +++ b/dcmsr/libcmr/cid100.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID100_QuantitativeDiagnosticImagingProcedures * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-26 19:54:59 by J. Riesmeier + * File created on 2016-01-08 15:04:42 by J. Riesmeier * */ @@ -160,7 +160,7 @@ CID100_QuantitativeDiagnosticImagingProcedures::CodeList &CID100_QuantitativeDia Codes->insert(OFMake_pair(PETCT_METImagingOfWholeBody, DSRBasicCodedEntry("P5-08118", "SRT", "PET/CT MET imaging of whole body"))); Codes->insert(OFMake_pair(CT_HEAD_PERFUSION_WITH_IV_CONTRAST, DSRBasicCodedEntry("RPID96", "RADLEX", "CT HEAD PERFUSION WITH IV CONTRAST"))); Codes->insert(OFMake_pair(NM_HEAD_PERFUSION_BRAIN_SPECT, DSRBasicCodedEntry("RPID5258", "RADLEX", "NM HEAD PERFUSION BRAIN SPECT"))); - Codes->insert(OFMake_pair(NM_HEAD_PERFUSION_BRAIN_PET_CT_AV_45, DSRBasicCodedEntry("RPID5427", "RADLEX", "NM HEAD PERFUSION BRAIN PET-CT AV-45"))); + Codes->insert(OFMake_pair(NM_HEAD_PERFUSION_BRAIN_PET_CT_AV45, DSRBasicCodedEntry("RPID5427", "RADLEX", "NM HEAD PERFUSION BRAIN PET-CT AV-45"))); } /* should never be NULL */ return *Codes; diff --git a/dcmsr/libcmr/cid10013.cc b/dcmsr/libcmr/cid10013.cc index 66ed492d..2c3837c8 100644 --- a/dcmsr/libcmr/cid10013.cc +++ b/dcmsr/libcmr/cid10013.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID10013_CTAcquisitionType * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:14 by J. Riesmeier + * File created on 2016-01-08 15:05:05 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid10033.cc b/dcmsr/libcmr/cid10033.cc index 0e09a0cf..f5c2b3b1 100644 --- a/dcmsr/libcmr/cid10033.cc +++ b/dcmsr/libcmr/cid10033.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID10033_CTReconstructionAlgorithm * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:16 by J. Riesmeier + * File created on 2016-01-08 15:05:06 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid11.cc b/dcmsr/libcmr/cid11.cc index 0a704280..a4088f2f 100644 --- a/dcmsr/libcmr/cid11.cc +++ b/dcmsr/libcmr/cid11.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID11_RouteOfAdministration * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:24:57 by J. Riesmeier + * File created on 2016-01-08 15:04:37 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid244.cc b/dcmsr/libcmr/cid244.cc index 497e1e6d..58618c58 100644 --- a/dcmsr/libcmr/cid244.cc +++ b/dcmsr/libcmr/cid244.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID244_Laterality * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:02 by J. Riesmeier + * File created on 2016-01-08 15:04:44 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid29.cc b/dcmsr/libcmr/cid29.cc index 873ff0e7..debe234d 100644 --- a/dcmsr/libcmr/cid29.cc +++ b/dcmsr/libcmr/cid29.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID29_AcquisitionModality * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:24:58 by J. Riesmeier + * File created on 2016-01-08 15:04:39 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid4020.cc b/dcmsr/libcmr/cid4020.cc index f8921dad..8cf0e72c 100644 --- a/dcmsr/libcmr/cid4020.cc +++ b/dcmsr/libcmr/cid4020.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID4020_PETRadionuclide * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:03 by J. Riesmeier + * File created on 2016-01-08 15:04:46 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid4021.cc b/dcmsr/libcmr/cid4021.cc index 51ebb2c6..943d855d 100644 --- a/dcmsr/libcmr/cid4021.cc +++ b/dcmsr/libcmr/cid4021.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID4021_PETRadiopharmaceutical * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:05 by J. Riesmeier + * File created on 2016-01-08 15:04:47 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid4031.cc b/dcmsr/libcmr/cid4031.cc index 15564a2c..7440c620 100644 --- a/dcmsr/libcmr/cid4031.cc +++ b/dcmsr/libcmr/cid4031.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID4031_CommonAnatomicRegions * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:07 by J. Riesmeier + * File created on 2016-01-08 15:04:49 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid42.cc b/dcmsr/libcmr/cid42.cc index 1756f838..35d336ce 100644 --- a/dcmsr/libcmr/cid42.cc +++ b/dcmsr/libcmr/cid42.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID42_NumericValueQualifier * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:00 by J. Riesmeier + * File created on 2016-01-08 15:04:41 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid6147.cc b/dcmsr/libcmr/cid6147.cc new file mode 100644 index 00000000..476d9404 --- /dev/null +++ b/dcmsr/libcmr/cid6147.cc @@ -0,0 +1,165 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class CID6147_ResponseCriteria + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-08 15:04:51 by J. Riesmeier + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/cmr/cid6147.h" + + +// general information on CID 6147 (Response Criteria) +#define CONTEXT_GROUP_NUMBER "6147" +#define CONTEXT_GROUP_VERSION "20141110" +#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.1004" +#define CONTEXT_GROUP_TYPE OFTrue /* extensible */ + +// initialize global/static variable +CID6147_ResponseCriteria::CodeList *CID6147_ResponseCriteria::Codes = NULL; + + +CID6147_ResponseCriteria::CID6147_ResponseCriteria(const DSRCodedEntryValue &selectedValue) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +CID6147_ResponseCriteria::CID6147_ResponseCriteria(const EnumType selectedValue, + const OFBool enhancedEncodingMode) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode)) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +OFCondition CID6147_ResponseCriteria::selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode) +{ + /* never check the coded entry */ + return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/); +} + + +OFCondition CID6147_ResponseCriteria::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode) const +{ + OFCondition result = SR_EC_CodedEntryNotInContextGroup; + /* first, search for standard codes */ + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + /* if found, exit loop */ + if (searchForCodedEntry == iter->second) + { + /* return coded entry (if requested) */ + if (foundCodedEntry != NULL) + { + *foundCodedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!foundCodedEntry->isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(*foundCodedEntry); + } + result = SR_EC_CodedEntryInStandardContextGroup; + break; + } + ++iter; + } + /* if not, continue with extended codes */ + if (result.bad()) + { + result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry); + /* tbd: set "enhanced encoding mode" to mark a local/extended version? */ + } + return result; +} + + +void CID6147_ResponseCriteria::printCodes(STD_NAMESPACE ostream &stream) const +{ + /* print standard codes */ + stream << "Standard codes:" << OFendl; + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + stream << " "; + /* print coded entry */ + DSRCodedEntryValue(iter->second).print(stream); + stream << OFendl; + ++iter; + } + /* print extended codes */ + DSRContextGroup::printCodes(stream); +} + + +// static functions + +void CID6147_ResponseCriteria::initialize() +{ + /* create and initialize code list */ + getCodes(); +} + + +void CID6147_ResponseCriteria::cleanup() +{ + /* delete code list, it will be recreated automatically when needed */ + delete Codes; + Codes = NULL; +} + + +DSRCodedEntryValue CID6147_ResponseCriteria::getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode) +{ + DSRCodedEntryValue codedEntry; + /* search for given enumerated value */ + CodeList::iterator iter = getCodes().find(value); + /* if found, set the coded entry */ + if (iter != getCodes().end()) + { + codedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!codedEntry.isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(codedEntry); + } + return codedEntry; +} + + +CID6147_ResponseCriteria::CodeList &CID6147_ResponseCriteria::getCodes() +{ + /* check whether code list has already been created and initialized */ + if (Codes == NULL) + { + /* create a new code list (should never fail) */ + Codes = new CodeList(); + /* and initialize it by adding the coded entries */ + Codes->insert(OFMake_pair(WHO, DSRBasicCodedEntry("112029", "DCM", "WHO"))); + Codes->insert(OFMake_pair(RECIST10, DSRBasicCodedEntry("126080", "DCM", "RECIST 1.0"))); + Codes->insert(OFMake_pair(RECIST11, DSRBasicCodedEntry("126081", "DCM", "RECIST 1.1"))); + Codes->insert(OFMake_pair(RANO, DSRBasicCodedEntry("C114879", "NCIt", "RANO"))); + } + /* should never be NULL */ + return *Codes; +} + + +OFCondition CID6147_ResponseCriteria::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue) +{ + return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID); +} diff --git a/dcmsr/libcmr/cid7021.cc b/dcmsr/libcmr/cid7021.cc index 792a2cb6..356aff53 100644 --- a/dcmsr/libcmr/cid7021.cc +++ b/dcmsr/libcmr/cid7021.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7021_MeasurementReportDocumentTitles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-26 19:55:09 by J. Riesmeier + * File created on 2016-01-08 15:04:52 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7181.cc b/dcmsr/libcmr/cid7181.cc new file mode 100644 index 00000000..d42dc71f --- /dev/null +++ b/dcmsr/libcmr/cid7181.cc @@ -0,0 +1,217 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class CID7181_AbstractMultiDimensionalImageModelComponentUnits + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-08 15:04:54 by J. Riesmeier + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/cmr/cid7181.h" + + +// general information on CID 7181 (Abstract Multi-dimensional Image Model Component Units) +#define CONTEXT_GROUP_NUMBER "7181" +#define CONTEXT_GROUP_VERSION "20141110" +#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.918" +#define CONTEXT_GROUP_TYPE OFTrue /* extensible */ + +// initialize global/static variable +CID7181_AbstractMultiDimensionalImageModelComponentUnits::CodeList *CID7181_AbstractMultiDimensionalImageModelComponentUnits::Codes = NULL; + + +CID7181_AbstractMultiDimensionalImageModelComponentUnits::CID7181_AbstractMultiDimensionalImageModelComponentUnits(const DSRCodedEntryValue &selectedValue) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +CID7181_AbstractMultiDimensionalImageModelComponentUnits::CID7181_AbstractMultiDimensionalImageModelComponentUnits(const EnumType selectedValue, + const OFBool enhancedEncodingMode) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode)) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +OFCondition CID7181_AbstractMultiDimensionalImageModelComponentUnits::selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode) +{ + /* never check the coded entry */ + return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/); +} + + +OFCondition CID7181_AbstractMultiDimensionalImageModelComponentUnits::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode) const +{ + OFCondition result = SR_EC_CodedEntryNotInContextGroup; + /* first, search for standard codes */ + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + /* if found, exit loop */ + if (searchForCodedEntry == iter->second) + { + /* return coded entry (if requested) */ + if (foundCodedEntry != NULL) + { + *foundCodedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!foundCodedEntry->isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(*foundCodedEntry); + } + result = SR_EC_CodedEntryInStandardContextGroup; + break; + } + ++iter; + } + /* if not, continue with extended codes */ + if (result.bad()) + { + result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry); + /* tbd: set "enhanced encoding mode" to mark a local/extended version? */ + } + return result; +} + + +void CID7181_AbstractMultiDimensionalImageModelComponentUnits::printCodes(STD_NAMESPACE ostream &stream) const +{ + /* print standard codes */ + stream << "Standard codes:" << OFendl; + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + stream << " "; + /* print coded entry */ + DSRCodedEntryValue(iter->second).print(stream); + stream << OFendl; + ++iter; + } + /* print extended codes */ + DSRContextGroup::printCodes(stream); +} + + +// static functions + +void CID7181_AbstractMultiDimensionalImageModelComponentUnits::initialize() +{ + /* create and initialize code list */ + getCodes(); +} + + +void CID7181_AbstractMultiDimensionalImageModelComponentUnits::cleanup() +{ + /* delete code list, it will be recreated automatically when needed */ + delete Codes; + Codes = NULL; +} + + +DSRCodedEntryValue CID7181_AbstractMultiDimensionalImageModelComponentUnits::getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode) +{ + DSRCodedEntryValue codedEntry; + /* search for given enumerated value */ + CodeList::iterator iter = getCodes().find(value); + /* if found, set the coded entry */ + if (iter != getCodes().end()) + { + codedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!codedEntry.isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(codedEntry); + } + return codedEntry; +} + + +CID7181_AbstractMultiDimensionalImageModelComponentUnits::CodeList &CID7181_AbstractMultiDimensionalImageModelComponentUnits::getCodes() +{ + /* check whether code list has already been created and initialized */ + if (Codes == NULL) + { + /* create a new code list (should never fail) */ + Codes = new CodeList(); + /* and initialize it by adding the coded entries */ + Codes->insert(OFMake_pair(MmHg, DSRBasicCodedEntry("mm[Hg]", "UCUM", "mmHg"))); + Codes->insert(OFMake_pair(KPa, DSRBasicCodedEntry("kPa", "UCUM", "kPa"))); + Codes->insert(OFMake_pair(PRU, DSRBasicCodedEntry("[PRU]", "UCUM", "P.R.U."))); + Codes->insert(OFMake_pair(WoodU, DSRBasicCodedEntry("[wood'U]", "UCUM", "Wood U"))); + Codes->insert(OFMake_pair(Dynscm5, DSRBasicCodedEntry("dyn.s.cm-5", "UCUM", "dyn.s.cm-5"))); + Codes->insert(OFMake_pair(PRUPerM2, DSRBasicCodedEntry("[PRU]/m2", "UCUM", "P.R.U./m2"))); + Codes->insert(OFMake_pair(WoodUPerM2, DSRBasicCodedEntry("[wood'U]/m2", "UCUM", "Wood U/m2"))); + Codes->insert(OFMake_pair(Dynscm5PerM2, DSRBasicCodedEntry("dyn.s.cm-5/m2", "UCUM", "dyn.s.cm-5/m2"))); + Codes->insert(OFMake_pair(Centimeter, DSRBasicCodedEntry("cm", "UCUM", "centimeter"))); + Codes->insert(OFMake_pair(Millimeter, DSRBasicCodedEntry("mm", "UCUM", "millimeter"))); + Codes->insert(OFMake_pair(Micrometer, DSRBasicCodedEntry("um", "UCUM", "micrometer"))); + Codes->insert(OFMake_pair(SquareCentimeter, DSRBasicCodedEntry("cm2", "UCUM", "square centimeter"))); + Codes->insert(OFMake_pair(SquareMillimeter, DSRBasicCodedEntry("mm2", "UCUM", "square millimeter"))); + Codes->insert(OFMake_pair(SquareMicrometer, DSRBasicCodedEntry("um2", "UCUM", "square micrometer"))); + Codes->insert(OFMake_pair(CubicDecimeter, DSRBasicCodedEntry("dm3", "UCUM", "cubic decimeter"))); + Codes->insert(OFMake_pair(CubicCentimeter, DSRBasicCodedEntry("cm3", "UCUM", "cubic centimeter"))); + Codes->insert(OFMake_pair(CubicMillimeter, DSRBasicCodedEntry("mm3", "UCUM", "cubic millimeter"))); + Codes->insert(OFMake_pair(CubicMicrometer, DSRBasicCodedEntry("um3", "UCUM", "cubic micrometer"))); + Codes->insert(OFMake_pair(StandardizedUptakeValueBodyWeight, DSRBasicCodedEntry("{SUVbw}g/ml", "UCUM", "Standardized Uptake Value body weight"))); + Codes->insert(OFMake_pair(StandardizedUptakeValueLeanBodyMass, DSRBasicCodedEntry("{SUVlbm}g/ml", "UCUM", "Standardized Uptake Value lean body mass"))); + Codes->insert(OFMake_pair(StandardizedUptakeValueBodySurfaceArea, DSRBasicCodedEntry("{SUVbsa}cm2/ml", "UCUM", "Standardized Uptake Value body surface area"))); + Codes->insert(OFMake_pair(StandardizedUptakeValueIdealBodyWeight, DSRBasicCodedEntry("{SUVibw}g/ml", "UCUM", "Standardized Uptake Value ideal body weight"))); + Codes->insert(OFMake_pair(Counts, DSRBasicCodedEntry("{counts}", "UCUM", "Counts"))); + Codes->insert(OFMake_pair(CountsPerSecond, DSRBasicCodedEntry("{counts}/s", "UCUM", "Counts per second"))); + Codes->insert(OFMake_pair(ProportionalToCounts, DSRBasicCodedEntry("{propcounts}", "UCUM", "Proportional to counts"))); + Codes->insert(OFMake_pair(ProportionalToCountsPerSecond, DSRBasicCodedEntry("{propcounts}/s", "UCUM", "Proportional to counts per second"))); + Codes->insert(OFMake_pair(Percent, DSRBasicCodedEntry("%", "UCUM", "Percent"))); + Codes->insert(OFMake_pair(BecquerelsPerMilliliter, DSRBasicCodedEntry("Bq/ml", "UCUM", "Becquerels/milliliter"))); + Codes->insert(OFMake_pair(MilligramsPerMinutePerMilliliter, DSRBasicCodedEntry("mg/min/ml", "UCUM", "Milligrams/minute/milliliter"))); + Codes->insert(OFMake_pair(MicromolePerMinutePerMilliliter, DSRBasicCodedEntry("umol/min/ml", "UCUM", "Micromole/minute/milliliter"))); + Codes->insert(OFMake_pair(MilliliterPerMinutePerGram, DSRBasicCodedEntry("ml/min/g", "UCUM", "Milliliter/minute/gram"))); + Codes->insert(OFMake_pair(MilliliterPerGram, DSRBasicCodedEntry("ml/g", "UCUM", "Milliliter/gram"))); + Codes->insert(OFMake_pair(PerCentimeter, DSRBasicCodedEntry("/cm", "UCUM", "/Centimeter"))); + Codes->insert(OFMake_pair(MicromolePerMilliliter, DSRBasicCodedEntry("umol/ml", "UCUM", "Micromole/milliliter"))); + Codes->insert(OFMake_pair(NoUnits, DSRBasicCodedEntry("1", "UCUM", "no units"))); + Codes->insert(OFMake_pair(Ratio, DSRBasicCodedEntry("{ratio}", "UCUM", "ratio"))); + Codes->insert(OFMake_pair(HounsfieldUnit, DSRBasicCodedEntry("[hnsf'U]", "UCUM", "Hounsfield Unit"))); + Codes->insert(OFMake_pair(ArbitraryUnit, DSRBasicCodedEntry("[arb'U]", "UCUM", "arbitrary unit"))); + Codes->insert(OFMake_pair(CentimeterPerSecond, DSRBasicCodedEntry("cm/s", "UCUM", "centimeter/second"))); + Codes->insert(OFMake_pair(MillimeterPerSecond, DSRBasicCodedEntry("mm/s", "UCUM", "millimeter/second"))); + Codes->insert(OFMake_pair(Decibel, DSRBasicCodedEntry("dB", "UCUM", "decibel"))); + Codes->insert(OFMake_pair(DegreesCelsius, DSRBasicCodedEntry("Cel", "UCUM", "degrees Celsius"))); + Codes->insert(OFMake_pair(MilliliterPerMinute, DSRBasicCodedEntry("ml/min", "UCUM", "milliliter per minute"))); + Codes->insert(OFMake_pair(MilliliterPerSecond, DSRBasicCodedEntry("ml/s", "UCUM", "milliliter per second"))); + Codes->insert(OFMake_pair(Millisecond, DSRBasicCodedEntry("ms", "UCUM", "millisecond"))); + Codes->insert(OFMake_pair(Second, DSRBasicCodedEntry("s", "UCUM", "second"))); + Codes->insert(OFMake_pair(Hertz, DSRBasicCodedEntry("Hz", "UCUM", "Hertz"))); + Codes->insert(OFMake_pair(MilliTesla, DSRBasicCodedEntry("mT", "UCUM", "milliTesla"))); + Codes->insert(OFMake_pair(NumberParticlesPer100GramOfTissue, DSRBasicCodedEntry("{Particles}/[100]g{Tissue}", "UCUM", "number particles per 100 gram of tissue"))); + Codes->insert(OFMake_pair(SquareMillimeterPerSecond, DSRBasicCodedEntry("mm2/s", "UCUM", "square millimeter per second"))); + Codes->insert(OFMake_pair(SecondPerSquareMillimeter, DSRBasicCodedEntry("s/mm2", "UCUM", "second per square millimeter"))); + Codes->insert(OFMake_pair(MilliliterPer100GramPerMinute, DSRBasicCodedEntry("ml/[100]g/min", "UCUM", "milliliter per 100 gram per minute"))); + Codes->insert(OFMake_pair(MilliliterPer100Milliliter, DSRBasicCodedEntry("ml/[100]ml", "UCUM", "milliliter per 100 milliliter"))); + Codes->insert(OFMake_pair(MillimolesPerKgWetWeight, DSRBasicCodedEntry("mmol/kg{WetWeight}", "UCUM", "millimoles per kg wet weight"))); + Codes->insert(OFMake_pair(PerMin, DSRBasicCodedEntry("/min", "UCUM", "/min"))); + Codes->insert(OFMake_pair(PerS, DSRBasicCodedEntry("/s", "UCUM", "/s"))); + } + /* should never be NULL */ + return *Codes; +} + + +OFCondition CID7181_AbstractMultiDimensionalImageModelComponentUnits::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue) +{ + return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID); +} diff --git a/dcmsr/libcmr/cid7445.cc b/dcmsr/libcmr/cid7445.cc index b5838319..c69546ef 100644 --- a/dcmsr/libcmr/cid7445.cc +++ b/dcmsr/libcmr/cid7445.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7445_DeviceParticipatingRoles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:09 by J. Riesmeier + * File created on 2016-01-08 15:04:56 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7452.cc b/dcmsr/libcmr/cid7452.cc index 59031512..69af1aba 100644 --- a/dcmsr/libcmr/cid7452.cc +++ b/dcmsr/libcmr/cid7452.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7452_OrganizationalRoles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:10 by J. Riesmeier + * File created on 2016-01-08 15:04:58 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7453.cc b/dcmsr/libcmr/cid7453.cc index 5f097775..18c68103 100644 --- a/dcmsr/libcmr/cid7453.cc +++ b/dcmsr/libcmr/cid7453.cc @@ -1,12 +1,12 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CID7453_PerformingRoles * * Generated automatically from DICOM PS 3.16-2015c - * File created on 2015-08-23 15:25:12 by J. Riesmeier + * File created on 2016-01-08 15:04:59 by J. Riesmeier * */ diff --git a/dcmsr/libcmr/cid7464.cc b/dcmsr/libcmr/cid7464.cc new file mode 100644 index 00000000..e37280f7 --- /dev/null +++ b/dcmsr/libcmr/cid7464.cc @@ -0,0 +1,174 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class CID7464_GeneralRegionOfInterestMeasurementModifiers + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-08 15:05:01 by J. Riesmeier + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/cmr/cid7464.h" + + +// general information on CID 7464 (General Region of Interest Measurement Modifiers) +#define CONTEXT_GROUP_NUMBER "7464" +#define CONTEXT_GROUP_VERSION "20121101" +#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.951" +#define CONTEXT_GROUP_TYPE OFTrue /* extensible */ + +// initialize global/static variable +CID7464_GeneralRegionOfInterestMeasurementModifiers::CodeList *CID7464_GeneralRegionOfInterestMeasurementModifiers::Codes = NULL; + + +CID7464_GeneralRegionOfInterestMeasurementModifiers::CID7464_GeneralRegionOfInterestMeasurementModifiers(const DSRCodedEntryValue &selectedValue) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +CID7464_GeneralRegionOfInterestMeasurementModifiers::CID7464_GeneralRegionOfInterestMeasurementModifiers(const EnumType selectedValue, + const OFBool enhancedEncodingMode) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode)) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +OFCondition CID7464_GeneralRegionOfInterestMeasurementModifiers::selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode) +{ + /* never check the coded entry */ + return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/); +} + + +OFCondition CID7464_GeneralRegionOfInterestMeasurementModifiers::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode) const +{ + OFCondition result = SR_EC_CodedEntryNotInContextGroup; + /* first, search for standard codes */ + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + /* if found, exit loop */ + if (searchForCodedEntry == iter->second) + { + /* return coded entry (if requested) */ + if (foundCodedEntry != NULL) + { + *foundCodedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!foundCodedEntry->isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(*foundCodedEntry); + } + result = SR_EC_CodedEntryInStandardContextGroup; + break; + } + ++iter; + } + /* if not, continue with extended codes */ + if (result.bad()) + { + result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry); + /* tbd: set "enhanced encoding mode" to mark a local/extended version? */ + } + return result; +} + + +void CID7464_GeneralRegionOfInterestMeasurementModifiers::printCodes(STD_NAMESPACE ostream &stream) const +{ + /* print standard codes */ + stream << "Standard codes:" << OFendl; + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + stream << " "; + /* print coded entry */ + DSRCodedEntryValue(iter->second).print(stream); + stream << OFendl; + ++iter; + } + /* print extended codes */ + DSRContextGroup::printCodes(stream); +} + + +// static functions + +void CID7464_GeneralRegionOfInterestMeasurementModifiers::initialize() +{ + /* create and initialize code list */ + getCodes(); +} + + +void CID7464_GeneralRegionOfInterestMeasurementModifiers::cleanup() +{ + /* delete code list, it will be recreated automatically when needed */ + delete Codes; + Codes = NULL; +} + + +DSRCodedEntryValue CID7464_GeneralRegionOfInterestMeasurementModifiers::getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode) +{ + DSRCodedEntryValue codedEntry; + /* search for given enumerated value */ + CodeList::iterator iter = getCodes().find(value); + /* if found, set the coded entry */ + if (iter != getCodes().end()) + { + codedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!codedEntry.isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(codedEntry); + } + return codedEntry; +} + + +CID7464_GeneralRegionOfInterestMeasurementModifiers::CodeList &CID7464_GeneralRegionOfInterestMeasurementModifiers::getCodes() +{ + /* check whether code list has already been created and initialized */ + if (Codes == NULL) + { + /* create a new code list (should never fail) */ + Codes = new CodeList(); + /* and initialize it by adding the coded entries */ + Codes->insert(OFMake_pair(Maximum, DSRBasicCodedEntry("G-A437", "SRT", "Maximum"))); + Codes->insert(OFMake_pair(Minimum, DSRBasicCodedEntry("R-404FB", "SRT", "Minimum"))); + Codes->insert(OFMake_pair(Mean, DSRBasicCodedEntry("R-00317", "SRT", "Mean"))); + Codes->insert(OFMake_pair(StandardDeviation, DSRBasicCodedEntry("R-10047", "SRT", "Standard Deviation"))); + Codes->insert(OFMake_pair(Total, DSRBasicCodedEntry("R-40507", "SRT", "Total"))); + Codes->insert(OFMake_pair(Median, DSRBasicCodedEntry("R-00319", "SRT", "Median"))); + Codes->insert(OFMake_pair(Mode, DSRBasicCodedEntry("R-0032E", "SRT", "Mode"))); + Codes->insert(OFMake_pair(PeakValueWithinROI, DSRBasicCodedEntry("126031", "DCM", "Peak Value Within ROI"))); + Codes->insert(OFMake_pair(CoefficientOfVariance, DSRBasicCodedEntry("C0681921", "UMLS", "Coefficient of Variance"))); + Codes->insert(OFMake_pair(Skewness, DSRBasicCodedEntry("126051", "DCM", "Skewness"))); + Codes->insert(OFMake_pair(Kurtosis, DSRBasicCodedEntry("126052", "DCM", "Kurtosis"))); + Codes->insert(OFMake_pair(Variance, DSRBasicCodedEntry("C1711260", "UMLS", "Variance"))); + Codes->insert(OFMake_pair(RootMeanSquare, DSRBasicCodedEntry("C2347976", "UMLS", "Root Mean Square"))); + } + /* should never be NULL */ + return *Codes; +} + + +OFCondition CID7464_GeneralRegionOfInterestMeasurementModifiers::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue) +{ + return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID); +} diff --git a/dcmsr/libcmr/cid7469.cc b/dcmsr/libcmr/cid7469.cc new file mode 100644 index 00000000..877588b3 --- /dev/null +++ b/dcmsr/libcmr/cid7469.cc @@ -0,0 +1,301 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class CID7469_GenericIntensityAndSizeMeasurements + * + * Generated automatically from DICOM PS 3.16-2015c + * File created on 2016-01-08 15:05:03 by J. Riesmeier + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/cmr/cid7469.h" + + +// general information on CID 7469 (Generic Intensity and Size Measurements) +#define CONTEXT_GROUP_NUMBER "7469" +#define CONTEXT_GROUP_VERSION "20141110" +#define CONTEXT_GROUP_UID "1.2.840.10008.6.1.1003" +#define CONTEXT_GROUP_TYPE OFTrue /* extensible */ + +// initialize global/static variable +CID7469_GenericIntensityAndSizeMeasurements::CodeList *CID7469_GenericIntensityAndSizeMeasurements::Codes = NULL; + + +CID7469_GenericIntensityAndSizeMeasurements::CID7469_GenericIntensityAndSizeMeasurements(const DSRCodedEntryValue &selectedValue) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, selectedValue) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +CID7469_GenericIntensityAndSizeMeasurements::CID7469_GenericIntensityAndSizeMeasurements(const EnumType selectedValue, + const OFBool enhancedEncodingMode) + : DSRContextGroup(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID, getCodedEntry(selectedValue, enhancedEncodingMode)) +{ + setExtensible(CONTEXT_GROUP_TYPE); +} + + +OFCondition CID7469_GenericIntensityAndSizeMeasurements::selectValue(const EnumType selectedValue, + const OFBool enhancedEncodingMode) +{ + /* never check the coded entry */ + return DSRContextGroup::selectValue(getCodedEntry(selectedValue, enhancedEncodingMode), OFFalse /*check*/, OFFalse /*definedContextGroup*/); +} + + +OFCondition CID7469_GenericIntensityAndSizeMeasurements::findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry, + DSRCodedEntryValue *foundCodedEntry, + const OFBool enhancedEncodingMode) const +{ + OFCondition result = SR_EC_CodedEntryNotInContextGroup; + /* first, search for standard codes */ + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + /* if found, exit loop */ + if (searchForCodedEntry == iter->second) + { + /* return coded entry (if requested) */ + if (foundCodedEntry != NULL) + { + *foundCodedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!foundCodedEntry->isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(*foundCodedEntry); + } + result = SR_EC_CodedEntryInStandardContextGroup; + break; + } + ++iter; + } + /* if not, continue with extended codes */ + if (result.bad()) + { + result = DSRContextGroup::findCodedEntry(searchForCodedEntry, foundCodedEntry); + /* tbd: set "enhanced encoding mode" to mark a local/extended version? */ + } + return result; +} + + +void CID7469_GenericIntensityAndSizeMeasurements::printCodes(STD_NAMESPACE ostream &stream) const +{ + /* print standard codes */ + stream << "Standard codes:" << OFendl; + CodeList::const_iterator iter = getCodes().begin(); + CodeList::const_iterator last = getCodes().end(); + /* iterate over coded entry list */ + while (iter != last) + { + stream << " "; + /* print coded entry */ + DSRCodedEntryValue(iter->second).print(stream); + stream << OFendl; + ++iter; + } + /* print extended codes */ + DSRContextGroup::printCodes(stream); +} + + +// static functions + +void CID7469_GenericIntensityAndSizeMeasurements::initialize() +{ + /* create and initialize code list */ + getCodes(); +} + + +void CID7469_GenericIntensityAndSizeMeasurements::cleanup() +{ + /* delete code list, it will be recreated automatically when needed */ + delete Codes; + Codes = NULL; +} + + +DSRCodedEntryValue CID7469_GenericIntensityAndSizeMeasurements::getCodedEntry(const EnumType value, + const OFBool enhancedEncodingMode) +{ + DSRCodedEntryValue codedEntry; + /* search for given enumerated value */ + CodeList::iterator iter = getCodes().find(value); + /* if found, set the coded entry */ + if (iter != getCodes().end()) + { + codedEntry = iter->second; + /* also set enhanced encoding mode (if enabled) */ + if (!codedEntry.isEmpty() && enhancedEncodingMode) + setEnhancedEncodingMode(codedEntry); + } + return codedEntry; +} + + +CID7469_GenericIntensityAndSizeMeasurements::CodeList &CID7469_GenericIntensityAndSizeMeasurements::getCodes() +{ + /* check whether code list has already been created and initialized */ + if (Codes == NULL) + { + /* create a new code list (should never fail) */ + Codes = new CodeList(); + /* and initialize it by adding the coded entries */ + Codes->insert(OFMake_pair(NAcetylaspartate, DSRBasicCodedEntry("F-6175A", "SRT", "N-acetylaspartate"))); + Codes->insert(OFMake_pair(Citrate, DSRBasicCodedEntry("F-61080", "SRT", "Citrate"))); + Codes->insert(OFMake_pair(Choline, DSRBasicCodedEntry("F-61620", "SRT", "Choline"))); + Codes->insert(OFMake_pair(Creatine, DSRBasicCodedEntry("F-61380", "SRT", "Creatine"))); + Codes->insert(OFMake_pair(CreatineAndCholine, DSRBasicCodedEntry("113094", "DCM", "Creatine and Choline"))); + Codes->insert(OFMake_pair(Lactate, DSRBasicCodedEntry("F-61760", "SRT", "Lactate"))); + Codes->insert(OFMake_pair(Lipid, DSRBasicCodedEntry("F-63600", "SRT", "Lipid"))); + Codes->insert(OFMake_pair(LipidAndLactate, DSRBasicCodedEntry("113095", "DCM", "Lipid and Lactate"))); + Codes->insert(OFMake_pair(GlutamateAndGlutamine, DSRBasicCodedEntry("113080", "DCM", "Glutamate and glutamine"))); + Codes->insert(OFMake_pair(Glutamine, DSRBasicCodedEntry("F-64210", "SRT", "Glutamine"))); + Codes->insert(OFMake_pair(Tuarine, DSRBasicCodedEntry("F-64460", "SRT", "Tuarine"))); + Codes->insert(OFMake_pair(Inositol, DSRBasicCodedEntry("F-61A90", "SRT", "Inositol"))); + Codes->insert(OFMake_pair(CholinePerCreatineRatio, DSRBasicCodedEntry("113081", "DCM", "Choline/Creatine Ratio"))); + Codes->insert(OFMake_pair(NAcetylaspartatePerCreatineRatio, DSRBasicCodedEntry("113082", "DCM", "N-acetylaspartate/Creatine Ratio"))); + Codes->insert(OFMake_pair(NAcetylaspartatePerCholineRatio, DSRBasicCodedEntry("113083", "DCM", "N-acetylaspartate/Choline Ratio"))); + Codes->insert(OFMake_pair(CreatinePlusCholinePerCitrateRatio, DSRBasicCodedEntry("113096", "DCM", "Creatine+Choline/Citrate Ratio"))); + Codes->insert(OFMake_pair(T1, DSRBasicCodedEntry("113063", "DCM", "T1"))); + Codes->insert(OFMake_pair(T2, DSRBasicCodedEntry("113065", "DCM", "T2"))); + Codes->insert(OFMake_pair(T2Star, DSRBasicCodedEntry("113064", "DCM", "T2*"))); + Codes->insert(OFMake_pair(ProtonDensity, DSRBasicCodedEntry("113058", "DCM", "Proton Density"))); + Codes->insert(OFMake_pair(SpinTaggingPerfusionMRSignalIntensity, DSRBasicCodedEntry("110800", "DCM", "Spin Tagging Perfusion MR Signal Intensity"))); + Codes->insert(OFMake_pair(VelocityEncoded, DSRBasicCodedEntry("113070", "DCM", "Velocity encoded"))); + Codes->insert(OFMake_pair(TemperatureEncoded, DSRBasicCodedEntry("113067", "DCM", "Temperature encoded"))); + Codes->insert(OFMake_pair(ContrastAgentAngioMRSignalIntensity, DSRBasicCodedEntry("110801", "DCM", "Contrast Agent Angio MR Signal Intensity"))); + Codes->insert(OFMake_pair(TimeOfFlightAngioMRSignalIntensity, DSRBasicCodedEntry("110802", "DCM", "Time Of Flight Angio MR Signal Intensity"))); + Codes->insert(OFMake_pair(ProtonDensityWeightedMRSignalIntensity, DSRBasicCodedEntry("110803", "DCM", "Proton Density Weighted MR Signal Intensity"))); + Codes->insert(OFMake_pair(T1WeightedMRSignalIntensity, DSRBasicCodedEntry("110804", "DCM", "T1 Weighted MR Signal Intensity"))); + Codes->insert(OFMake_pair(T2WeightedMRSignalIntensity, DSRBasicCodedEntry("110805", "DCM", "T2 Weighted MR Signal Intensity"))); + Codes->insert(OFMake_pair(T2StarWeightedMRSignalIntensity, DSRBasicCodedEntry("110806", "DCM", "T2* Weighted MR Signal Intensity"))); + Codes->insert(OFMake_pair(DiffusionWeighted, DSRBasicCodedEntry("113043", "DCM", "Diffusion weighted"))); + Codes->insert(OFMake_pair(FieldMapMRSignalIntensity, DSRBasicCodedEntry("110807", "DCM", "Field Map MR Signal Intensity"))); + Codes->insert(OFMake_pair(FractionalAnisotropy, DSRBasicCodedEntry("110808", "DCM", "Fractional Anisotropy"))); + Codes->insert(OFMake_pair(RelativeAnisotropy, DSRBasicCodedEntry("110809", "DCM", "Relative Anisotropy"))); + Codes->insert(OFMake_pair(ApparentDiffusionCoefficient, DSRBasicCodedEntry("113041", "DCM", "Apparent Diffusion Coefficient"))); + Codes->insert(OFMake_pair(VolumetricDiffusionDxxComponent, DSRBasicCodedEntry("110810", "DCM", "Volumetric Diffusion Dxx Component"))); + Codes->insert(OFMake_pair(VolumetricDiffusionDxyComponent, DSRBasicCodedEntry("110811", "DCM", "Volumetric Diffusion Dxy Component"))); + Codes->insert(OFMake_pair(VolumetricDiffusionDxzComponent, DSRBasicCodedEntry("110812", "DCM", "Volumetric Diffusion Dxz Component"))); + Codes->insert(OFMake_pair(VolumetricDiffusionDyyComponent, DSRBasicCodedEntry("110813", "DCM", "Volumetric Diffusion Dyy Component"))); + Codes->insert(OFMake_pair(VolumetricDiffusionDyzComponent, DSRBasicCodedEntry("110814", "DCM", "Volumetric Diffusion Dyz Component"))); + Codes->insert(OFMake_pair(VolumetricDiffusionDzzComponent, DSRBasicCodedEntry("110815", "DCM", "Volumetric Diffusion Dzz Component"))); + Codes->insert(OFMake_pair(T1WeightedDynamicContrastEnhancedMRSignalIntensity, DSRBasicCodedEntry("110816", "DCM", "T1 Weighted Dynamic Contrast Enhanced MR Signal Intensity"))); + Codes->insert(OFMake_pair(T2WeightedDynamicContrastEnhancedMRSignalIntensity, DSRBasicCodedEntry("110817", "DCM", "T2 Weighted Dynamic Contrast Enhanced MR Signal Intensity"))); + Codes->insert(OFMake_pair(T2StarWeightedDynamicContrastEnhancedMRSignalIntensity, DSRBasicCodedEntry("110818", "DCM", "T2* Weighted Dynamic Contrast Enhanced MR Signal Intensity"))); + Codes->insert(OFMake_pair(BloodOxygenationLevel, DSRBasicCodedEntry("110819", "DCM", "Blood Oxygenation Level"))); + Codes->insert(OFMake_pair(NuclearMedicineProjectionActivity, DSRBasicCodedEntry("110820", "DCM", "Nuclear Medicine Projection Activity"))); + Codes->insert(OFMake_pair(NuclearMedicineTomographicActivity, DSRBasicCodedEntry("110821", "DCM", "Nuclear Medicine Tomographic Activity"))); + Codes->insert(OFMake_pair(SpatialDisplacementXComponent, DSRBasicCodedEntry("110822", "DCM", "Spatial Displacement X Component"))); + Codes->insert(OFMake_pair(SpatialDisplacementYComponent, DSRBasicCodedEntry("110823", "DCM", "Spatial Displacement Y Component"))); + Codes->insert(OFMake_pair(SpatialDisplacementZComponent, DSRBasicCodedEntry("110824", "DCM", "Spatial Displacement Z Component"))); + Codes->insert(OFMake_pair(HemodynamicResistance, DSRBasicCodedEntry("110825", "DCM", "Hemodynamic Resistance"))); + Codes->insert(OFMake_pair(IndexedHemodynamicResistance, DSRBasicCodedEntry("110826", "DCM", "Indexed Hemodynamic Resistance"))); + Codes->insert(OFMake_pair(AttenuationCoefficient, DSRBasicCodedEntry("112031", "DCM", "Attenuation Coefficient"))); + Codes->insert(OFMake_pair(TissueVelocity, DSRBasicCodedEntry("110827", "DCM", "Tissue Velocity"))); + Codes->insert(OFMake_pair(FlowVelocity, DSRBasicCodedEntry("110828", "DCM", "Flow Velocity"))); + Codes->insert(OFMake_pair(PowerDoppler, DSRBasicCodedEntry("P0-02241", "SRT", "Power Doppler"))); + Codes->insert(OFMake_pair(FlowVariance, DSRBasicCodedEntry("110829", "DCM", "Flow Variance"))); + Codes->insert(OFMake_pair(Elasticity, DSRBasicCodedEntry("110830", "DCM", "Elasticity"))); + Codes->insert(OFMake_pair(Perfusion, DSRBasicCodedEntry("110831", "DCM", "Perfusion"))); + Codes->insert(OFMake_pair(SpeedOfSound, DSRBasicCodedEntry("110832", "DCM", "Speed of sound"))); + Codes->insert(OFMake_pair(UltrasoundAttenuation, DSRBasicCodedEntry("110833", "DCM", "Ultrasound Attenuation"))); + Codes->insert(OFMake_pair(StudentsTTest, DSRBasicCodedEntry("113068", "DCM", "Student's T-test"))); + Codes->insert(OFMake_pair(ZScore, DSRBasicCodedEntry("113071", "DCM", "Z-score"))); + Codes->insert(OFMake_pair(RCoefficient, DSRBasicCodedEntry("113057", "DCM", "R-Coefficient"))); + Codes->insert(OFMake_pair(R2Coefficient, DSRBasicCodedEntry("126220", "DCM", "R2-Coefficient"))); + Codes->insert(OFMake_pair(RGBRComponent, DSRBasicCodedEntry("110834", "DCM", "RGB R Component"))); + Codes->insert(OFMake_pair(RGBGComponent, DSRBasicCodedEntry("110835", "DCM", "RGB G Component"))); + Codes->insert(OFMake_pair(RGBBComponent, DSRBasicCodedEntry("110836", "DCM", "RGB B Component"))); + Codes->insert(OFMake_pair(YBR_FULLYComponent, DSRBasicCodedEntry("110837", "DCM", "YBR FULL Y Component"))); + Codes->insert(OFMake_pair(YBR_FULL_CBComponent, DSRBasicCodedEntry("110838", "DCM", "YBR FULL CB Component"))); + Codes->insert(OFMake_pair(YBR_FULL_CRComponent, DSRBasicCodedEntry("110839", "DCM", "YBR FULL CR Component"))); + Codes->insert(OFMake_pair(YBR_PARTIALYComponent, DSRBasicCodedEntry("110840", "DCM", "YBR PARTIAL Y Component"))); + Codes->insert(OFMake_pair(YBR_PARTIAL_CBComponent, DSRBasicCodedEntry("110841", "DCM", "YBR PARTIAL CB Component"))); + Codes->insert(OFMake_pair(YBR_PARTIAL_CRComponent, DSRBasicCodedEntry("110842", "DCM", "YBR PARTIAL CR Component"))); + Codes->insert(OFMake_pair(YBR_ICTYComponent, DSRBasicCodedEntry("110843", "DCM", "YBR ICT Y Component"))); + Codes->insert(OFMake_pair(YBR_ICT_CBComponent, DSRBasicCodedEntry("110844", "DCM", "YBR ICT CB Component"))); + Codes->insert(OFMake_pair(YBR_ICT_CRComponent, DSRBasicCodedEntry("110845", "DCM", "YBR ICT CR Component"))); + Codes->insert(OFMake_pair(YBR_RCTYComponent, DSRBasicCodedEntry("110846", "DCM", "YBR RCT Y Component"))); + Codes->insert(OFMake_pair(YBR_RCT_CBComponent, DSRBasicCodedEntry("110847", "DCM", "YBR RCT CB Component"))); + Codes->insert(OFMake_pair(YBR_RCT_CRComponent, DSRBasicCodedEntry("110848", "DCM", "YBR RCT CR Component"))); + Codes->insert(OFMake_pair(Echogenicity, DSRBasicCodedEntry("110849", "DCM", "Echogenicity"))); + Codes->insert(OFMake_pair(XRayAttenuation, DSRBasicCodedEntry("110850", "DCM", "X-Ray Attenuation"))); + Codes->insert(OFMake_pair(MRSignalIntensity, DSRBasicCodedEntry("110852", "DCM", "MR signal intensity"))); + Codes->insert(OFMake_pair(BinarySegmentation, DSRBasicCodedEntry("110853", "DCM", "Binary Segmentation"))); + Codes->insert(OFMake_pair(FractionalProbabilisticSegmentation, DSRBasicCodedEntry("110854", "DCM", "Fractional Probabilistic Segmentation"))); + Codes->insert(OFMake_pair(FractionalOccupancySegmentation, DSRBasicCodedEntry("110855", "DCM", "Fractional Occupancy Segmentation"))); + Codes->insert(OFMake_pair(R1, DSRBasicCodedEntry("126393", "DCM", "R1"))); + Codes->insert(OFMake_pair(R2, DSRBasicCodedEntry("126394", "DCM", "R2"))); + Codes->insert(OFMake_pair(Ktrans, DSRBasicCodedEntry("126312", "DCM", "Ktrans"))); + Codes->insert(OFMake_pair(Kep, DSRBasicCodedEntry("126313", "DCM", "kep"))); + Codes->insert(OFMake_pair(Ve, DSRBasicCodedEntry("126314", "DCM", "ve"))); + Codes->insert(OFMake_pair(Tau_m, DSRBasicCodedEntry("126330", "DCM", "tau_m"))); + Codes->insert(OFMake_pair(Vp, DSRBasicCodedEntry("126331", "DCM", "vp"))); + Codes->insert(OFMake_pair(RegionalCerebralBloodFlow, DSRBasicCodedEntry("113055", "DCM", "Regional Cerebral Blood Flow"))); + Codes->insert(OFMake_pair(RegionalBloodFlow, DSRBasicCodedEntry("126390", "DCM", "Regional Blood Flow"))); + Codes->insert(OFMake_pair(RegionalCerebralBloodVolume, DSRBasicCodedEntry("113056", "DCM", "Regional Cerebral Blood Volume"))); + Codes->insert(OFMake_pair(RegionalBloodVolume, DSRBasicCodedEntry("126391", "DCM", "Regional Blood Volume"))); + Codes->insert(OFMake_pair(MeanTransitTime, DSRBasicCodedEntry("113052", "DCM", "Mean Transit Time"))); + Codes->insert(OFMake_pair(TimeToPeak, DSRBasicCodedEntry("113069", "DCM", "Time To Peak"))); + Codes->insert(OFMake_pair(OxygenExtractionFraction, DSRBasicCodedEntry("126392", "DCM", "Oxygen Extraction Fraction"))); + Codes->insert(OFMake_pair(IAUC, DSRBasicCodedEntry("126320", "DCM", "IAUC"))); + Codes->insert(OFMake_pair(IAUC60, DSRBasicCodedEntry("126321", "DCM", "IAUC60"))); + Codes->insert(OFMake_pair(IAUC90, DSRBasicCodedEntry("126322", "DCM", "IAUC90"))); + Codes->insert(OFMake_pair(TimeOfPeakConcentration, DSRBasicCodedEntry("126370", "DCM", "Time of Peak Concentration"))); + Codes->insert(OFMake_pair(TimeOfLeadingHalfPeakConcentration, DSRBasicCodedEntry("126372", "DCM", "Time of Leading Half-Peak Concentration"))); + Codes->insert(OFMake_pair(BolusArrivalTime, DSRBasicCodedEntry("126371", "DCM", "Bolus Arrival Time"))); + Codes->insert(OFMake_pair(TemporalDerivativeThreshold, DSRBasicCodedEntry("126374", "DCM", "Temporal Derivative Threshold"))); + Codes->insert(OFMake_pair(MaximumSlope, DSRBasicCodedEntry("126375", "DCM", "Maximum Slope"))); + Codes->insert(OFMake_pair(MaximumDifference, DSRBasicCodedEntry("126376", "DCM", "Maximum Difference"))); + Codes->insert(OFMake_pair(TracerConcentration, DSRBasicCodedEntry("126377", "DCM", "Tracer Concentration"))); + Codes->insert(OFMake_pair(StandardizedUptakeValue, DSRBasicCodedEntry("126400", "DCM", "Standardized Uptake Value"))); + Codes->insert(OFMake_pair(SUVbw, DSRBasicCodedEntry("126401", "DCM", "SUVbw"))); + Codes->insert(OFMake_pair(SUVlbm, DSRBasicCodedEntry("126402", "DCM", "SUVlbm"))); + Codes->insert(OFMake_pair(SUVbsa, DSRBasicCodedEntry("126403", "DCM", "SUVbsa"))); + Codes->insert(OFMake_pair(SUVibw, DSRBasicCodedEntry("126404", "DCM", "SUVibw"))); + Codes->insert(OFMake_pair(Length, DSRBasicCodedEntry("G-A22A", "SRT", "Length"))); + Codes->insert(OFMake_pair(PathLength, DSRBasicCodedEntry("121211", "DCM", "Path length"))); + Codes->insert(OFMake_pair(Distance, DSRBasicCodedEntry("121206", "DCM", "Distance"))); + Codes->insert(OFMake_pair(Width, DSRBasicCodedEntry("G-A220", "SRT", "Width"))); + Codes->insert(OFMake_pair(Depth, DSRBasicCodedEntry("G-D785", "SRT", "Depth"))); + Codes->insert(OFMake_pair(Diameter, DSRBasicCodedEntry("M-02550", "SRT", "Diameter"))); + Codes->insert(OFMake_pair(LongAxis, DSRBasicCodedEntry("G-A185", "SRT", "Long Axis"))); + Codes->insert(OFMake_pair(ShortAxis, DSRBasicCodedEntry("G-A186", "SRT", "Short Axis"))); + Codes->insert(OFMake_pair(MajorAxis, DSRBasicCodedEntry("G-A193", "SRT", "Major Axis"))); + Codes->insert(OFMake_pair(MinorAxis, DSRBasicCodedEntry("G-A194", "SRT", "Minor Axis"))); + Codes->insert(OFMake_pair(PerpendicularAxis, DSRBasicCodedEntry("G-A195", "SRT", "Perpendicular Axis"))); + Codes->insert(OFMake_pair(Radius, DSRBasicCodedEntry("G-A196", "SRT", "Radius"))); + Codes->insert(OFMake_pair(Perimeter, DSRBasicCodedEntry("G-A197", "SRT", "Perimeter"))); + Codes->insert(OFMake_pair(Circumference, DSRBasicCodedEntry("M-02560", "SRT", "Circumference"))); + Codes->insert(OFMake_pair(DiameterOfCircumscribedCircle, DSRBasicCodedEntry("G-A198", "SRT", "Diameter of circumscribed circle"))); + Codes->insert(OFMake_pair(Height, DSRBasicCodedEntry("121207", "DCM", "Height"))); + Codes->insert(OFMake_pair(Area, DSRBasicCodedEntry("G-A166", "SRT", "Area"))); + Codes->insert(OFMake_pair(AreaOfDefinedRegion, DSRBasicCodedEntry("G-A16A", "SRT", "Area of defined region"))); + Codes->insert(OFMake_pair(Volume, DSRBasicCodedEntry("G-D705", "SRT", "Volume"))); + Codes->insert(OFMake_pair(VolumeEstimatedFromSingle2DRegion, DSRBasicCodedEntry("121216", "DCM", "Volume estimated from single 2D region"))); + Codes->insert(OFMake_pair(VolumeEstimatedFromTwoNonCoplanar2DRegions, DSRBasicCodedEntry("121218", "DCM", "Volume estimated from two non-coplanar 2D regions"))); + Codes->insert(OFMake_pair(VolumeEstimatedFromThreeOrMoreNonCoplanar2DRegions, DSRBasicCodedEntry("121217", "DCM", "Volume estimated from three or more non-coplanar 2D regions"))); + Codes->insert(OFMake_pair(VolumeOfSphere, DSRBasicCodedEntry("121222", "DCM", "Volume of sphere"))); + Codes->insert(OFMake_pair(VolumeOfEllipsoid, DSRBasicCodedEntry("121221", "DCM", "Volume of ellipsoid"))); + Codes->insert(OFMake_pair(VolumeOfCircumscribedSphere, DSRBasicCodedEntry("121220", "DCM", "Volume of circumscribed sphere"))); + Codes->insert(OFMake_pair(VolumeOfBoundingThreeDimensionalRegion, DSRBasicCodedEntry("121219", "DCM", "Volume of bounding three dimensional region"))); + } + /* should never be NULL */ + return *Codes; +} + + +OFCondition CID7469_GenericIntensityAndSizeMeasurements::setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue) +{ + return codedEntryValue.setEnhancedEncodingMode(CONTEXT_GROUP_NUMBER, "DCMR", CONTEXT_GROUP_VERSION, CONTEXT_GROUP_UID); +} diff --git a/dcmsr/libcmr/init.cc b/dcmsr/libcmr/init.cc index cb64598a..0edea681 100644 --- a/dcmsr/libcmr/init.cc +++ b/dcmsr/libcmr/init.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CMR_ContentMappingResource @@ -24,10 +24,14 @@ #include "dcmtk/dcmsr/cmr/cid4031.h" #include "dcmtk/dcmsr/cmr/cid5000.h" #include "dcmtk/dcmsr/cmr/cid5001.h" +#include "dcmtk/dcmsr/cmr/cid6147.h" #include "dcmtk/dcmsr/cmr/cid7021.h" +#include "dcmtk/dcmsr/cmr/cid7181.h" #include "dcmtk/dcmsr/cmr/cid7445.h" #include "dcmtk/dcmsr/cmr/cid7452.h" #include "dcmtk/dcmsr/cmr/cid7453.h" +#include "dcmtk/dcmsr/cmr/cid7464.h" +#include "dcmtk/dcmsr/cmr/cid7469.h" #include "dcmtk/dcmsr/cmr/cid10013.h" #include "dcmtk/dcmsr/cmr/cid10033.h" @@ -49,10 +53,14 @@ void CMR_ContentMappingResource::initializeAllContextGroups() CID4031_CommonAnatomicRegions::initialize(); CID5000_Languages::initialize(); CID5001_Countries::initialize(); + CID6147_ResponseCriteria::initialize(); CID7021_MeasurementReportDocumentTitles::initialize(); + CID7181_AbstractMultiDimensionalImageModelComponentUnits::initialize(); CID7445_DeviceParticipatingRoles::initialize(); CID7452_OrganizationalRoles::initialize(); CID7453_PerformingRoles::initialize(); + CID7464_GeneralRegionOfInterestMeasurementModifiers::initialize(); + CID7469_GenericIntensityAndSizeMeasurements::initialize(); CID10013_CTAcquisitionType::initialize(); CID10033_CTReconstructionAlgorithm::initialize(); } @@ -71,10 +79,14 @@ void CMR_ContentMappingResource::cleanupAllContextGroups() CID4031_CommonAnatomicRegions::cleanup(); CID5000_Languages::cleanup(); CID5001_Countries::cleanup(); + CID6147_ResponseCriteria::cleanup(); CID7021_MeasurementReportDocumentTitles::cleanup(); + CID7181_AbstractMultiDimensionalImageModelComponentUnits::cleanup(); CID7445_DeviceParticipatingRoles::cleanup(); CID7452_OrganizationalRoles::cleanup(); CID7453_PerformingRoles::cleanup(); + CID7464_GeneralRegionOfInterestMeasurementModifiers::cleanup(); + CID7469_GenericIntensityAndSizeMeasurements::cleanup(); CID10013_CTAcquisitionType::cleanup(); CID10033_CTReconstructionAlgorithm::cleanup(); } diff --git a/dcmsr/libcmr/srnumvl.cc b/dcmsr/libcmr/srnumvl.cc index a017f984..7ce6f27e 100644 --- a/dcmsr/libcmr/srnumvl.cc +++ b/dcmsr/libcmr/srnumvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class CMR_SRNumericMeasurementValue @@ -29,9 +29,16 @@ CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const OFString &num } +CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check) + : DSRNumericMeasurementValue(valueQualifier, check) +{ +} + + CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const OFString &numericValue, const DSRCodedEntryValue &measurementUnit, - const DSRCodedEntryValue &valueQualifier, + const CID42_NumericValueQualifier &valueQualifier, const OFBool check) : DSRNumericMeasurementValue(numericValue, measurementUnit, valueQualifier, check) { @@ -44,6 +51,12 @@ CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const CMR_SRNumeric } +CMR_SRNumericMeasurementValue::CMR_SRNumericMeasurementValue(const DSRNumericMeasurementValue &numericMeasurement) + : DSRNumericMeasurementValue(numericMeasurement) +{ +} + + CMR_SRNumericMeasurementValue::~CMR_SRNumericMeasurementValue() { } @@ -57,24 +70,42 @@ CMR_SRNumericMeasurementValue &CMR_SRNumericMeasurementValue::operator=(const CM } -OFCondition CMR_SRNumericMeasurementValue::setNumericValueQualifier(CID42_NumericValueQualifier::EnumType valueQualifier, - const OFBool enhancedEncodingMode) +OFCondition CMR_SRNumericMeasurementValue::setValue(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check) +{ + /* map type to coded entry and call the method doing the real work */ + return DSRNumericMeasurementValue::setValue(valueQualifier, check); +} + + +OFCondition CMR_SRNumericMeasurementValue::setValue(const OFString &numericValue, + const DSRCodedEntryValue &measurementUnit, + const CID42_NumericValueQualifier &valueQualifier, + const OFBool check) +{ + /* map type to coded entry and call the method doing the real work */ + return DSRNumericMeasurementValue::setValue(numericValue, measurementUnit, valueQualifier, check); +} + + +OFCondition CMR_SRNumericMeasurementValue::setNumericValueQualifier(const CID42_NumericValueQualifier &valueQualifier, + const OFBool check) { /* map type to coded entry and call the method doing the real work */ - return setNumericValueQualifier(CID42_NumericValueQualifier::getCodedEntry(valueQualifier, enhancedEncodingMode), OFFalse /*check*/); + return DSRNumericMeasurementValue::setNumericValueQualifier(valueQualifier, check); } OFCondition CMR_SRNumericMeasurementValue::checkNumericValueQualifier(const DSRCodedEntryValue &valueQualifier) const { /* first, perform some basic checks (done by the base class) */ - OFCondition status = DSRNumericMeasurementValue::checkNumericValueQualifier(valueQualifier); - if (status.good() && !valueQualifier.isEmpty()) + OFCondition result = DSRNumericMeasurementValue::checkNumericValueQualifier(valueQualifier); + if (result.good() && !valueQualifier.isEmpty()) { /* then, also check for conformance with CID 42 */ static const CID42_NumericValueQualifier contextGroup; if (contextGroup.findCodedEntry(valueQualifier).bad()) - status = SR_EC_CodedEntryNotInContextGroup; + result = SR_EC_CodedEntryNotInContextGroup; } - return status; + return result; } diff --git a/dcmsr/libcmr/tid1001.cc b/dcmsr/libcmr/tid1001.cc index 54fadd61..262c4995 100644 --- a/dcmsr/libcmr/tid1001.cc +++ b/dcmsr/libcmr/tid1001.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class TID1001_ObservationContext @@ -19,7 +19,8 @@ // helper macros for checking the return value of API calls #define CHECK_RESULT(call) if (result.good()) result = call #define STORE_RESULT(call) result = call -#define DELETE_ERROR(pointer) if (result.bad()) delete pointer +#define GOOD_RESULT(call) if (result.good()) call +#define BAD_RESULT(call) if (result.bad()) call // index positions in node list (makes source code more readable) #define LAST_PERSON_OBSERVER 0 @@ -53,7 +54,7 @@ OFCondition TID1001_ObservationContext::addPersonObserver(const OFString &person if (subTree != NULL) { /* TID 1002 (Observer Context) Row 1 */ - STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType)); + STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType, check)); CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(CODE_DCM_Person, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1002 - Row 1")); /* TID 1003 (Person Observer Identifying Attributes) Row 1 */ @@ -63,22 +64,22 @@ OFCondition TID1001_ObservationContext::addPersonObserver(const OFString &person /* TID 1003 (Person Observer Identifying Attributes) Row 2 */ if (!organizationName.empty()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_PersonObserverOrganizationName)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_PersonObserverOrganizationName, check)); CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(organizationName, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1003 - Row 2")); } /* TID 1003 (Person Observer Identifying Attributes) Row 3 */ if (organizationRole.hasSelectedValue()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInTheOrganization)); - CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(organizationRole.getSelectedValue(), check)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInTheOrganization, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(organizationRole, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1003 - Row 3")); } /* TID 1003 (Person Observer Identifying Attributes) Row 4 */ if (procedureRole.hasSelectedValue()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInThisProcedure)); - CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(procedureRole.getSelectedValue(), check)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_PersonObserverRoleInThisProcedure, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(procedureRole, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1003 - Row 4")); } /* if everything was OK, insert new subtree into the template */ @@ -86,15 +87,21 @@ OFCondition TID1001_ObservationContext::addPersonObserver(const OFString &person { const size_t lastNode = subTree->getNodeID(); /* order is significant, so go to last person observer */ - gotoLastEntryFromNodeList(this, LAST_PERSON_OBSERVER); - /* insert subtree at current position */ - result = insertSubTree(subTree, AM_afterCurrent); + if (gotoLastEntryFromNodeList(this, LAST_PERSON_OBSERVER) > 0) + { + /* insert subtree at current position */ + STORE_RESULT(insertSubTree(subTree, AM_afterCurrent)); + } else { + /* this is the first person observer (but there might be device observers) */ + gotoRoot(); + /* insert subtree before current position (at the beginning of the tree) */ + STORE_RESULT(insertSubTree(subTree, AM_beforeCurrent)); + } /* store ID of recently added node for later use */ - if (result.good()) - storeEntryInNodeList(LAST_PERSON_OBSERVER, lastNode); + GOOD_RESULT(storeEntryInNodeList(LAST_PERSON_OBSERVER, lastNode)); } /* in case of error, make sure that memory is freed */ - DELETE_ERROR(subTree); + BAD_RESULT(delete subTree); } return result; } @@ -107,6 +114,7 @@ OFCondition TID1001_ObservationContext::addDeviceObserver(const OFString &device const OFString &serialNumber, const OFString &physicalLocation, const DeviceParticipatingRolesList &procedureRoles, + const OFString &stationAEtitle, const OFBool check) { OFCondition result = EC_MemoryExhausted; @@ -115,7 +123,7 @@ OFCondition TID1001_ObservationContext::addDeviceObserver(const OFString &device if (subTree != NULL) { /* TID 1002 (Observer Context) Row 1 */ - STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType)); + STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_ObserverType, check)); CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(CODE_DCM_Device, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1002 - Row 1")); /* TID 1004 (Device Observer Identifying Attributes) Row 1 */ @@ -125,35 +133,35 @@ OFCondition TID1001_ObservationContext::addDeviceObserver(const OFString &device /* TID 1004 (Device Observer Identifying Attributes) Row 2 */ if (!deviceName.empty()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverName)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverName, check)); CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(deviceName, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 2")); } /* TID 1004 (Device Observer Identifying Attributes) Row 3 */ if (!manufacturer.empty()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverManufacturer)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverManufacturer, check)); CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(manufacturer, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 3")); } /* TID 1004 (Device Observer Identifying Attributes) Row 4 */ if (!modelName.empty()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverModelName)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverModelName, check)); CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(modelName, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 4")); } /* TID 1004 (Device Observer Identifying Attributes) Row 5 */ if (!serialNumber.empty()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverSerialNumber)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverSerialNumber, check)); CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(serialNumber, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 5")); } /* TID 1004 (Device Observer Identifying Attributes) Row 6 */ if (!physicalLocation.empty()) { - CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverPhysicalLocationDuringObservation)); + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_DeviceObserverPhysicalLocationDuringObservation, check)); CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(physicalLocation, check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 6")); } @@ -165,12 +173,19 @@ OFCondition TID1001_ObservationContext::addDeviceObserver(const OFString &device /* iterate over all list entries */ while ((iter != last) && result.good()) { - STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_DeviceRoleInProcedure)); + STORE_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Code, CODE_DCM_DeviceRoleInProcedure, check)); CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(iter->getSelectedValue(), check)); CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 7")); ++iter; } } + /* TID 1004 (Device Observer Identifying Attributes) Row 8 */ + if (!stationAEtitle.empty()) + { + CHECK_RESULT(subTree->addContentItem(RT_hasObsContext, VT_Text, CODE_DCM_StationAETitle, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setStringValue(stationAEtitle, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1004 - Row 8")); + } /* if everything was OK, insert new subtree into the template */ if (result.good()) { @@ -178,13 +193,12 @@ OFCondition TID1001_ObservationContext::addDeviceObserver(const OFString &device /* order is significant, so go to last device (or person) observer */ gotoLastEntryFromNodeList(this, LAST_DEVICE_OBSERVER); /* insert subtree at current position */ - result = insertSubTree(subTree, AM_afterCurrent); + STORE_RESULT(insertSubTree(subTree, AM_afterCurrent)); /* store ID of recently added node for later use */ - if (result.good()) - storeEntryInNodeList(LAST_DEVICE_OBSERVER, lastNode); + GOOD_RESULT(storeEntryInNodeList(LAST_DEVICE_OBSERVER, lastNode)); } /* in case of error, make sure that memory is freed */ - DELETE_ERROR(subTree); + BAD_RESULT(delete subTree); } return result; } diff --git a/dcmsr/libcmr/tid1204.cc b/dcmsr/libcmr/tid1204.cc index e3b358bb..6f38c0ea 100644 --- a/dcmsr/libcmr/tid1204.cc +++ b/dcmsr/libcmr/tid1204.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class TID1204_LanguageOfContentItemAndDescendants @@ -19,6 +19,8 @@ // helper macros for checking the return value of API calls #define CHECK_RESULT(call) if (result.good()) result = call #define STORE_RESULT(call) result = call +#define GOOD_RESULT(call) if (result.good()) call +#define BAD_RESULT(call) if (result.bad()) call // general information on TID 1204 (Language of Content Item and Descendants) #define TEMPLATE_NUMBER "1204" @@ -42,21 +44,17 @@ OFCondition TID1204_LanguageOfContentItemAndDescendants::setLanguage(const CID50 /* create a new subtree in order to "rollback" in case of error */ DSRDocumentSubTree subTree; /* TID 1204 (Language of Content Item and Descendants) Row 1 */ - STORE_RESULT(subTree.addContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_LanguageOfContentItemAndDescendants)); - CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(language.getSelectedValue(), check)); + STORE_RESULT(subTree.addContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_LanguageOfContentItemAndDescendants, check)); + CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(language, check)); CHECK_RESULT(subTree.getCurrentContentItem().setAnnotationText("TID 1204 - Row 1")); /* TID 1204 (Language of Content Item and Descendants) Row 2 */ if (country.hasSelectedValue()) { - CHECK_RESULT(subTree.addChildContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_CountryOfLanguage)); - CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(country.getSelectedValue(), check)); + CHECK_RESULT(subTree.addChildContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_CountryOfLanguage, check)); + CHECK_RESULT(subTree.getCurrentContentItem().setCodeValue(country, check)); CHECK_RESULT(subTree.getCurrentContentItem().setAnnotationText("TID 1204 - Row 2")); } - /* if everything was OK, insert new subtree into the template */ - if (result.good()) - { - /* replace currently stored subtree (if any) */ - swap(subTree); - } + /* if everything was OK, replace current subtree of the template */ + GOOD_RESULT(swap(subTree)); return result; } diff --git a/dcmsr/libcmr/tid1411.cc b/dcmsr/libcmr/tid1411.cc new file mode 100644 index 00000000..2334a85a --- /dev/null +++ b/dcmsr/libcmr/tid1411.cc @@ -0,0 +1,603 @@ +/* + * + * Copyright (C) 2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class TID1411_VolumetricROIMeasurements + * + * Author: Joerg Riesmeier + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/cmr/tid1411.h" +#include "dcmtk/dcmsr/cmr/cid6147.h" +#include "dcmtk/dcmsr/cmr/cid7181.h" +#include "dcmtk/dcmsr/cmr/cid7464.h" +#include "dcmtk/dcmsr/cmr/cid7469.h" +#include "dcmtk/dcmsr/cmr/logger.h" +#include "dcmtk/dcmsr/codes/dcm.h" +#include "dcmtk/dcmsr/codes/ncit.h" +#include "dcmtk/dcmsr/codes/srt.h" +#include "dcmtk/dcmsr/codes/umls.h" + +#include "dcmtk/dcmdata/dcdeftag.h" + + +// helper macros for checking the return value of API calls +#define CHECK_RESULT(call) if (result.good()) result = call +#define STORE_RESULT(call) result = call +#define GOOD_RESULT(call) if (result.good()) call +#define BAD_RESULT(call) if (result.bad()) call + +// index positions in node list (makes source code more readable) +#define MEASUREMENT_GROUP 0 +#define ACTIVITY_SESSION 1 +#define TRACKING_IDENTIFIER 2 +#define TRACKING_UNIQUE_IDENTIFIER 3 +#define FINDING 4 +#define TIME_POINT 5 +#define REFERENCED_SEGMENT 6 +#define SOURCE_SERIES_FOR_SEGMENTATION 7 +#define REAL_WORLD_VALUE_MAP 8 +#define MEASUREMENT_METHOD 9 +#define FINDING_SITE 10 +#define LAST_MEASUREMENT 11 + +// general information on TID 1411 (Volumetric ROI Measurements) +#define TEMPLATE_NUMBER "1411" +#define MAPPING_RESOURCE "DCMR" +#define MAPPING_RESOURCE_UID UID_DICOMContentMappingResource +#define TEMPLATE_TYPE OFTrue /* extensible */ + +// conditions constants +makeOFConditionConst(CMR_EC_NoMeasurementGroup, OFM_dcmsr, 1411, OF_error, "No Measurement Group"); +makeOFConditionConst(CMR_EC_InvalidSegmentationObject, OFM_dcmsr, 1412, OF_error, "Invalid Segmentation Object"); +makeOFConditionConst(CMR_EC_InvalidRealWorldValueMappingObject, OFM_dcmsr, 1413, OF_error, "Invalid Real World Value Mapping Object"); + + +template +TID1411_VolumetricROIMeasurements::TID1411_VolumetricROIMeasurements(const OFBool createGroup) + : DSRSubTemplate(TEMPLATE_NUMBER, MAPPING_RESOURCE, MAPPING_RESOURCE_UID) +{ + setExtensible(TEMPLATE_TYPE); + /* need to store position of various content items */ + reserveEntriesInNodeList(12, OFTrue /*initialize*/); + /* TID 1411 (Volumetric ROI Measurements) Row 1 */ + if (createGroup) + createMeasurementGroup(); +} + + +template +OFBool TID1411_VolumetricROIMeasurements::isValid() const +{ + /* check whether base class is valid and all required content items are present */ + return DSRSubTemplate::isValid() && + hasMeasurementGroup() && hasTrackingIdentifier() && hasTrackingUniqueIdentifier() && + hasReferencedSegment() && hasSourceSeriesForSegmentation() && hasROIMeasurements(); +} + + +template +OFBool TID1411_VolumetricROIMeasurements::hasMeasurementGroup(const OFBool checkChildren) const +{ + OFBool result = OFFalse; + /* need to check for child nodes? */ + if (checkChildren) + { + DSRDocumentTreeNodeCursor cursor(getRoot()); + /* go to content item at TID 1411 (Volumetric ROI Measurements) Row 1 */ + if (gotoEntryFromNodeList(cursor, MEASUREMENT_GROUP) > 0) + result = cursor.hasChildNodes(); + } else { + /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 1 */ + result = (getEntryFromNodeList(MEASUREMENT_GROUP) > 0); + } + return result; +} + + +template +OFBool TID1411_VolumetricROIMeasurements::hasTrackingIdentifier() const +{ + /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 2 */ + return (getEntryFromNodeList(TRACKING_IDENTIFIER) > 0); +} + + +template +OFBool TID1411_VolumetricROIMeasurements::hasTrackingUniqueIdentifier() const +{ + /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 3 */ + return (getEntryFromNodeList(TRACKING_UNIQUE_IDENTIFIER) > 0); +} + + +template +OFBool TID1411_VolumetricROIMeasurements::hasReferencedSegment() const +{ + /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 7 */ + return (getEntryFromNodeList(REFERENCED_SEGMENT) > 0); +} + + +template +OFBool TID1411_VolumetricROIMeasurements::hasSourceSeriesForSegmentation() const +{ + /* check for content item at TID 1411 (Volumetric ROI Measurements) Row 12 */ + return (getEntryFromNodeList(SOURCE_SERIES_FOR_SEGMENTATION) > 0); +} + + +template +OFBool TID1411_VolumetricROIMeasurements::hasROIMeasurements() const +{ + /* check for content item at TID 1419 (ROI Measurements) Row 5 */ + return (getEntryFromNodeList(LAST_MEASUREMENT) > 0); +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setActivitySession(const OFString &session, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (!session.empty()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1411 (Volumetric ROI Measurements) Row 1b */ + CHECK_RESULT(addOrReplaceContentItem(ACTIVITY_SESSION, RT_hasObsContext, VT_Text, CODE_NCIt_ActivitySession, "TID 1411 - Row 1b", check)); + CHECK_RESULT(getCurrentContentItem().setStringValue(session, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setTrackingIdentifier(const OFString &trackingID, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (!trackingID.empty()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1411 (Volumetric ROI Measurements) Row 2 */ + CHECK_RESULT(addOrReplaceContentItem(TRACKING_IDENTIFIER, RT_hasObsContext, VT_Text, CODE_DCM_TrackingIdentifier, "TID 1411 - Row 2", check)); + CHECK_RESULT(getCurrentContentItem().setStringValue(trackingID, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setTrackingUniqueIdentifier(const OFString &trackingUID, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (!trackingUID.empty()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1411 (Volumetric ROI Measurements) Row 3 */ + CHECK_RESULT(addOrReplaceContentItem(TRACKING_UNIQUE_IDENTIFIER, RT_hasObsContext, VT_UIDRef, CODE_DCM_TrackingUniqueIdentifier, "TID 1411 - Row 3", check)); + CHECK_RESULT(getCurrentContentItem().setStringValue(trackingUID, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setFinding(const DSRCodedEntryValue &finding, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (finding.isComplete()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1411 (Volumetric ROI Measurements) Row 3b */ + CHECK_RESULT(addOrReplaceContentItem(FINDING, RT_contains, VT_Code, CODE_DCM_Finding, "TID 1411 - Row 3b", check)); + CHECK_RESULT(getCurrentContentItem().setCodeValue(finding, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setTimePoint(const OFString &timePoint, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (!timePoint.empty()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1502 (Time Point Context) Row 3 */ + CHECK_RESULT(addOrReplaceContentItem(TIME_POINT, RT_hasObsContext, VT_Text, CODE_UMLS_TimePoint, "TID 1502 - Row 3", check)); + CHECK_RESULT(getCurrentContentItem().setStringValue(timePoint, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setReferencedSegment(const DSRImageReferenceValue &segment, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (segment.isComplete()) + { + const char *annotationText = "TID 1411 - Row 7"; + const DSRBasicCodedEntry conceptName(CODE_DCM_ReferencedSegment); + /* check for supported segmentation SOP classes */ + if ((segment.getSOPClassUID() != UID_SegmentationStorage) && (segment.getSOPClassUID() != UID_SurfaceSegmentationStorage)) + { + DCMSR_CMR_WARN("Cannot set value of '" << conceptName.CodeMeaning << "' content item (" << annotationText << ") ... wrong SOP Class"); + DCMSR_CMR_DEBUG("SOP Class UID \"" << segment.getSOPClassUID() << "\" does not match one of the known Segmentation objects"); + result = CMR_EC_InvalidSegmentationObject; + } + /* ... and number of referenced segments */ + else if ((segment.getSegmentList().getNumberOfItems() != 1)) + { + DCMSR_CMR_WARN("Cannot set value of '" << conceptName.CodeMeaning << "' content item (" << annotationText << ") ... wrong number of segments"); + result = CMR_EC_InvalidSegmentationObject; + } else { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1411 (Volumetric ROI Measurements) Row 7 */ + CHECK_RESULT(addOrReplaceContentItem(REFERENCED_SEGMENT, RT_contains, VT_Image, conceptName, annotationText, check)); + CHECK_RESULT(getCurrentContentItem().setImageReference(segment, check)); + } + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setReferencedSegment(DcmItem &dataset, + const Uint16 segmentNumber, + const OFBool copyTracking, + const OFBool check) +{ + DSRImageReferenceValue segment; + /* first, create the referenced image/segment object */ + OFCondition result = segment.setReference(dataset, check); + segment.getSegmentList().addItem(segmentNumber); + /* then, add/set the corresponding content item */ + CHECK_RESULT(setReferencedSegment(segment, check)); + /* need to copy tracking information? (introduced with CP-1496) */ + if (copyTracking && result.good()) + { + DcmSequenceOfItems *dseq = NULL; + /* get SegmentSequence (should always be present) */ + result = dataset.findAndGetSequence(DCM_SegmentSequence, dseq); + checkElementValue(dseq, DCM_SegmentSequence, "1-n", "1", result, "SegmentDescriptionMacro"); + if (result.good()) + { + DcmObject *dobj = NULL; + OFBool segmentFound = OFFalse; + /* iterate over all items in this sequence */ + while (((dobj = dseq->nextInContainer(dobj)) != NULL) && !segmentFound) + { + Uint16 number = 0; + DcmItem *ditem = OFstatic_cast(DcmItem *, dobj); + /* search for given segment number */ + if (ditem->findAndGetUint16(DCM_SegmentNumber, number).good()) + { + if (segmentNumber == number) + { + OFString trackingID, trackingUID; + /* get tracking ID and UID from current item (if present) and add/set content item */ + getAndCheckStringValueFromDataset(*ditem, DCM_TrackingID, trackingID, "1", "1C", "SegmentSequence"); + getAndCheckStringValueFromDataset(*ditem, DCM_TrackingUID, trackingUID, "1", "1C", "SegmentSequence"); + if (!trackingID.empty() && !trackingUID.empty()) + { + CHECK_RESULT(setTrackingIdentifier(trackingID, check)); + CHECK_RESULT(setTrackingUniqueIdentifier(trackingUID, check)); + } + else if (trackingID.empty() != trackingUID.empty()) + { + /* report a violation of the type 1C conditions */ + DCMSR_CMR_WARN("Either Tracking ID or Tracking UID is absent/empty in referenced segmentation object"); + } + /* given segment number found */ + segmentFound = OFTrue; + } + } + } + /* report a warning if referenced segment could not be found */ + if (!segmentFound) + { + DCMSR_CMR_WARN("Cannot copy tracking information for '" << CODE_DCM_ReferencedSegment.CodeMeaning << "' content item (TID 1411 - Row 7) ... segment not found"); + DCMSR_CMR_DEBUG("Cannot find given Segment Number (" << segmentNumber << ") in Segment Sequence of referenced segmentation object"); + } + } else { + /* report a warning if referenced segment could not be found */ + DCMSR_CMR_WARN("Cannot copy tracking information for '" << CODE_DCM_ReferencedSegment.CodeMeaning << "' content item (TID 1411 - Row 7) ... segment not found"); + } + /* tbc: return with an error in case the tracking information could not be copied? */ + } + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setSourceSeriesForSegmentation(const OFString &seriesUID, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (!seriesUID.empty()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1411 (Volumetric ROI Measurements) Row 12 */ + CHECK_RESULT(addOrReplaceContentItem(SOURCE_SERIES_FOR_SEGMENTATION, RT_contains, VT_UIDRef, CODE_DCM_SourceSeriesForSegmentation, "TID 1411 - Row 12", check)); + CHECK_RESULT(getCurrentContentItem().setStringValue(seriesUID, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setRealWorldValueMap(const DSRCompositeReferenceValue &valueMap, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (valueMap.isComplete()) + { + const char *annotationText = "TID 1411 - Row 14"; + const DSRBasicCodedEntry conceptName(CODE_DCM_RealWorldValueMapUsedForMeasurement); + /* check for real world value mapping SOP classes */ + if (valueMap.getSOPClassUID() != UID_RealWorldValueMappingStorage) + { + DCMSR_CMR_WARN("Cannot set value of '" << conceptName.CodeMeaning << "' content item (" << annotationText << ") ... wrong SOP Class"); + DCMSR_CMR_DEBUG("SOP Class UID \"" << valueMap.getSOPClassUID() << "\" does not match the one of the Real World Value Mapping object"); + result = CMR_EC_InvalidRealWorldValueMappingObject; + } else { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1411 (Volumetric ROI Measurements) Row 14 */ + CHECK_RESULT(addOrReplaceContentItem(REAL_WORLD_VALUE_MAP, RT_contains, VT_Composite, conceptName, annotationText, check)); + CHECK_RESULT(getCurrentContentItem().setCompositeReference(valueMap, check)); + } + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setRealWorldValueMap(DcmItem &dataset, + const OFBool check) +{ + DSRCompositeReferenceValue valueMap; + /* first, create the referenced composite object */ + OFCondition result = valueMap.setReference(dataset, check); + /* then, add/set the corresponding content item */ + CHECK_RESULT(setRealWorldValueMap(valueMap, check)); + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setMeasurementMethod(const T_Method &method, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (method.hasSelectedValue()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1419 (ROI Measurements) Row 1 */ + CHECK_RESULT(addOrReplaceContentItem(MEASUREMENT_METHOD, RT_hasConceptMod, VT_Code, CODE_SRT_MeasurementMethod, "TID 1419 - Row 1", check)); + CHECK_RESULT(getCurrentContentItem().setCodeValue(method, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::setFindingSite(const DSRCodedEntryValue &site, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of parameter */ + if (site.isComplete()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + /* TID 1419 (ROI Measurements) Row 2 */ + CHECK_RESULT(addOrReplaceContentItem(FINDING_SITE, RT_hasConceptMod, VT_Code, CODE_SRT_FindingSite, "TID 1419 - Row 2", check)); + CHECK_RESULT(getCurrentContentItem().setCodeValue(site, check)); + } else + result = EC_IllegalParameter; + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::addMeasurement(const T_Measurement &conceptName, + const MeasurementValue &numericValue, + const T_Method &method, + const T_Derivation &derivation, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* basic check of mandatory parameters */ + if (conceptName.hasSelectedValue() && numericValue.isComplete()) + { + /* check whether measurement group already exists */ + if (!hasMeasurementGroup()) + result = createMeasurementGroup(); + if (result.good()) + { + /* create a new subtree in order to "rollback" in case of error */ + DSRDocumentSubTree *subTree = new DSRDocumentSubTree; + if (subTree != NULL) + { + /* TID 1419 (ROI Measurements) Row 5 */ + STORE_RESULT(subTree->addContentItem(RT_contains, VT_Num, conceptName, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setNumericValue(numericValue, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1419 - Row 5")); + const size_t lastNode = subTree->getNodeID(); + /* TID 1419 (ROI Measurements) Row 7 - optional */ + if (method.hasSelectedValue()) + { + CHECK_RESULT(subTree->addChildContentItem(RT_hasConceptMod, VT_Code, CODE_SRT_MeasurementMethod, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(method, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1419 - Row 7")); + GOOD_RESULT(subTree->gotoParent()); + } + /* TID 1419 (ROI Measurements) Row 8 - optional */ + if (derivation.hasSelectedValue()) + { + CHECK_RESULT(subTree->addChildContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_Derivation, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setCodeValue(derivation, check)); + CHECK_RESULT(subTree->getCurrentContentItem().setAnnotationText("TID 1419 - Row 8")); + GOOD_RESULT(subTree->gotoParent()); + } + /* if everything was OK, insert new subtree into the template */ + if (result.good() && !subTree->isEmpty()) + { + /* go to last measurement (if any) */ + if (gotoLastEntryFromNodeList(this, LAST_MEASUREMENT) > 0) + { + /* insert subtree at current position */ + STORE_RESULT(insertSubTree(subTree, AM_afterCurrent)); + /* store ID of recently added node for later use */ + GOOD_RESULT(storeEntryInNodeList(LAST_MEASUREMENT, lastNode)); + } else { + /* should never happen but ... */ + result = CMR_EC_NoMeasurementGroup; + } + /* in case of error, make sure that memory is freed */ + BAD_RESULT(delete subTree); + } else { + /* delete the new subtree since it has not been inserted */ + delete subTree; + } + } else + result = EC_MemoryExhausted; + } + } else + result = EC_IllegalParameter; + return result; +} + + +// protected methods + +template +OFCondition TID1411_VolumetricROIMeasurements::createMeasurementGroup() +{ + OFCondition result = SR_EC_InvalidTemplateStructure; + if (isEmpty()) + { + /* TID 1411 (Volumetric ROI Measurements) Row 1 */ + STORE_RESULT(addContentItem(RT_unknown, VT_Container, CODE_DCM_MeasurementGroup)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1411 - Row 1")); + /* store ID of root node for later use */ + GOOD_RESULT(storeEntryInNodeList(MEASUREMENT_GROUP, getNodeID())); + } + return result; +} + + +template +OFCondition TID1411_VolumetricROIMeasurements::addOrReplaceContentItem(const size_t nodePos, + const E_RelationshipType relationshipType, + const E_ValueType valueType, + const DSRCodedEntryValue &conceptName, + const OFString &annotationText, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* check concept name and coded entry value */ + if (conceptName.isComplete()) + { + /* check whether content item already exists */ + if (getEntryFromNodeList(nodePos) == 0) + { + /* if not, create the content item (at correct position) */ + if (gotoLastEntryFromNodeList(this, nodePos) == getEntryFromNodeList(MEASUREMENT_GROUP)) + { + /* need to add the new content item as the first child */ + if (addContentItem(relationshipType, valueType, AM_belowCurrentBeforeFirstChild) > 0) + { + if (getCurrentContentItem().setConceptName(conceptName, check).bad()) + result = SR_EC_InvalidConceptName; + } else + result = SR_EC_CannotAddContentItem; + + } else { + /* add new content item as a sibling (after the current one) */ + STORE_RESULT(addContentItem(relationshipType, valueType, conceptName)); + } + /* store ID of added node for later use */ + GOOD_RESULT(storeEntryInNodeList(nodePos, getNodeID())); + } + else if (gotoEntryFromNodeList(this, nodePos) > 0) + { + /* make sure that the value type of the existing content item is correct */ + if (getCurrentContentItem().getValueType() != valueType) + { + DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") ... wrong value type"); + result = SR_EC_InvalidContentItem; + } + else if (getCurrentContentItem().getConceptName() != conceptName) + { + DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") ... wrong concept name"); + result = SR_EC_InvalidConceptName; + } else { + DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ")"); + } + } else + result = SR_EC_InvalidTemplateStructure; + /* finally, set annotation */ + CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText)); + } else + result = SR_EC_InvalidConceptName; + return result; +} + + +// explicit template instantiation (needed for use in TID 1500) +template class TID1411_VolumetricROIMeasurements; diff --git a/dcmsr/libcmr/tid1500.cc b/dcmsr/libcmr/tid1500.cc new file mode 100644 index 00000000..3c4b7b21 --- /dev/null +++ b/dcmsr/libcmr/tid1500.cc @@ -0,0 +1,373 @@ +/* + * + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * Source file for class TID1500_MeasurementReport + * + * Author: Joerg Riesmeier + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/cmr/tid1500.h" +#include "dcmtk/dcmsr/cmr/logger.h" +#include "dcmtk/dcmsr/codes/dcm.h" +#include "dcmtk/dcmsr/codes/umls.h" + +#include "dcmtk/dcmsr/dsrtpltn.h" + + +// helper macros for checking the return value of API calls +#define CHECK_RESULT(call) if (result.good()) result = call +#define STORE_RESULT(call) result = call +#define GOOD_RESULT(call) if (result.good()) call +#define BAD_RESULT(call) if (result.bad()) call + +// index positions in node list (makes source code more readable) +#define MEASUREMENT_REPORT 0 +#define OBSERVATION_CONTEXT 1 +#define LAST_PROCEDURE_REPORTED 2 +#define IMAGING_MEASUREMENTS 3 +#define LAST_VOLUMETRIC_ROI_MEASUREMENTS 4 +#define QUALITATIVE_EVALUATIONS 5 + +// general information on TID 1500 (Measurement Report) +#define TEMPLATE_NUMBER "1500" +#define MAPPING_RESOURCE "DCMR" +#define MAPPING_RESOURCE_UID UID_DICOMContentMappingResource +#define TEMPLATE_TYPE OFTrue /* extensible */ + +// conditions constants +makeOFConditionConst(CMR_EC_NoMeasurementReport, OFM_dcmsr, 1500, OF_error, "No Measurement Report"); + + +TID1500_MeasurementReport::TID1500_MeasurementReport(const CID7021_MeasurementReportDocumentTitles &title) + : DSRRootTemplate(DT_EnhancedSR, TEMPLATE_NUMBER, MAPPING_RESOURCE, MAPPING_RESOURCE_UID), + Language(new TID1204_LanguageOfContentItemAndDescendants()), + ObservationContext(new TID1001_ObservationContext()), + ImageLibrary(new TID1600_ImageLibrary()), + VolumetricROIMeasurements(new TID1411_Measurements()) +{ + setExtensible(TEMPLATE_TYPE); + /* need to store position of various content items */ + reserveEntriesInNodeList(6, OFTrue /*initialize*/); + /* if specified, create an initial report */ + if (title.hasSelectedValue()) + createMeasurementReport(title); +} + + +void TID1500_MeasurementReport::clear() +{ + DSRRootTemplate::clear(); + Language->clear(); + ObservationContext->clear(); + ImageLibrary->clear(); + VolumetricROIMeasurements->clear(); +} + + +OFBool TID1500_MeasurementReport::isValid() const +{ + /* check whether base class is valid and all required content items are present */ + return DSRRootTemplate::isValid() && + Language->isValid() && ObservationContext->isValid() && ImageLibrary->isValid() && + hasProcedureReported() && (hasImagingMeasurements() || hasQualitativeEvaluations()); +} + + +OFBool TID1500_MeasurementReport::hasProcedureReported() const +{ + /* check for content item at TID 1500 (Measurement Report) Row 4 */ + return (getEntryFromNodeList(LAST_PROCEDURE_REPORTED) > 0); +} + + +OFBool TID1500_MeasurementReport::hasImagingMeasurements(const OFBool checkChildren) const +{ + OFBool result = OFFalse; + /* need to check for child nodes? */ + if (checkChildren) + { + DSRDocumentTreeNodeCursor cursor(getRoot()); + /* go to content item at TID 1500 (Measurement Report) Row 6 */ + if (gotoEntryFromNodeList(cursor, IMAGING_MEASUREMENTS) > 0) + { + /* check whether any of the "included templates" is non-empty */ + if (cursor.gotoChild()) + { + while (cursor.isValid() && (cursor.getNode()->getValueType() == VT_includedTemplate)) + { + const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, cursor.getNode())->getValue().get(); + if (subTempl != NULL) + { + result = !subTempl->isEmpty(); + if (result) break; + } + if (cursor.gotoNext() == 0) + { + /* invalidate cursor */ + cursor.clear(); + } + } + } + } + } else { + /* check for content item at TID 1500 (Measurement Report) Row 6 */ + result = (getEntryFromNodeList(IMAGING_MEASUREMENTS) > 0); + } + return result; +} + + +OFBool TID1500_MeasurementReport::hasVolumetricROIMeasurements(const OFBool checkChildren) const +{ + OFBool result = OFFalse; + /* need to check for child nodes? */ + if (checkChildren) + { + DSRDocumentTreeNodeCursor cursor(getRoot()); + /* go to content item at TID 1500 (Measurement Report) Row 8 */ + if (gotoEntryFromNodeList(cursor, LAST_VOLUMETRIC_ROI_MEASUREMENTS) > 0) + { + /* check whether any of the "included TID 1411 templates" is non-empty */ + while (cursor.isValid() && (cursor.getNode()->getValueType() == VT_includedTemplate)) + { + const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, cursor.getNode())->getValue().get(); + if (subTempl != NULL) + { + if (subTempl->compareTemplateIdentication("1411", "DCMR")) + { + result = !subTempl->isEmpty(); + if (result) break; + } else { + /* exit loop */ + break; + } + } + if (cursor.gotoPrevious() == 0) + { + /* invalidate cursor */ + cursor.clear(); + } + } + } + } else { + /* check for content item at TID 1500 (Measurement Report) Row 8 */ + result = (getEntryFromNodeList(LAST_VOLUMETRIC_ROI_MEASUREMENTS) > 0); + } + return result; +} + + +OFBool TID1500_MeasurementReport::hasQualitativeEvaluations(const OFBool checkChildren) const +{ + OFBool result = OFFalse; + /* need to check for child nodes? */ + if (checkChildren) + { + DSRDocumentTreeNodeCursor cursor(getRoot()); + /* go to content item at TID 1500 (Measurement Report) Row 12 */ + if (gotoEntryFromNodeList(cursor, QUALITATIVE_EVALUATIONS) > 0) + result = cursor.hasChildNodes(); + } else { + /* check for content item at TID 1500 (Measurement Report) Row 12 */ + result = (getEntryFromNodeList(QUALITATIVE_EVALUATIONS) > 0); + } + return result; +} + + +OFCondition TID1500_MeasurementReport::getDocumentTitle(DSRCodedEntryValue &titleCode) +{ + OFCondition result = EC_Normal; + /* go to content item at TID 1500 (Measurement Report) Row 1 */ + if (gotoEntryFromNodeList(this, MEASUREMENT_REPORT) > 0) + { + titleCode = getCurrentContentItem().getConceptName(); + } else { + /* in case of error, clear the result variable */ + titleCode.clear(); + result = SR_EC_ContentItemNotFound; + } + return result; +} + + +OFCondition TID1500_MeasurementReport::createNewMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title) +{ + clear(); + /* TID 1500 (Measurement Report) Row 1 */ + return createMeasurementReport(title); +} + + +OFCondition TID1500_MeasurementReport::setLanguage(const CID5000_Languages &language, + const CID5001_Countries &country, + const OFBool check) +{ + /* TID 1500 (Measurement Report) Row 2 */ + return getLanguage().setLanguage(language, country, check); +} + + +OFCondition TID1500_MeasurementReport::addProcedureReported(const CID100_QuantitativeDiagnosticImagingProcedures &procedure, + const OFBool check) +{ + OFCondition result = EC_IllegalParameter; + /* make sure that there is a coded entry */ + if (procedure.hasSelectedValue()) + { + /* go to last content item at TID 1500 (Measurement Report) Row 3 or 4 */ + if (gotoLastEntryFromNodeList(this, LAST_PROCEDURE_REPORTED, OBSERVATION_CONTEXT) > 0) + { + /* TID 1500 (Measurement Report) Row 4 */ + STORE_RESULT(addContentItem(RT_hasConceptMod, VT_Code, CODE_DCM_ProcedureReported, check)); + CHECK_RESULT(getCurrentContentItem().setCodeValue(procedure, check)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 4")); + /* store ID of recently added node for later use */ + GOOD_RESULT(storeEntryInNodeList(LAST_PROCEDURE_REPORTED, getNodeID())); + } else + result = CMR_EC_NoMeasurementReport; + } + return result; +} + + +OFCondition TID1500_MeasurementReport::addVolumetricROIMeasurements() +{ + OFCondition result = CMR_EC_NoMeasurementReport; + /* go to content item at TID 1500 (Measurement Report) Row 8 */ + if (gotoEntryFromNodeList(this, LAST_VOLUMETRIC_ROI_MEASUREMENTS) > 0) + { + /* create new instance of TID 1411 (Volumetric ROI Measurements) */ + TID1411_Measurements *subTempl = new TID1411_Measurements(); + if (subTempl != NULL) + { + /* store (shared) reference to new instance */ + VolumetricROIMeasurements.reset(subTempl); + /* and add it to the current template (TID 1500 - Row 8) */ + STORE_RESULT(includeTemplate(VolumetricROIMeasurements, AM_afterCurrent, RT_contains)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 8")); + GOOD_RESULT(storeEntryInNodeList(LAST_VOLUMETRIC_ROI_MEASUREMENTS, getNodeID())); + /* tbc: what if the call of includeTemplate() fails? */ + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition TID1500_MeasurementReport::addQualitativeEvaluation(const DSRCodedEntryValue &conceptName, + const DSRCodedEntryValue &codeValue, + const OFBool check) +{ + OFCondition result = EC_IllegalParameter; + /* make sure that the parameters are non-empty */ + if (conceptName.isComplete() && codeValue.isComplete()) + { + /* create content item at TID 1500 (Measurement Report) Row 12 if not existing */ + result = createQualitativeEvaluations(); + /* go to content item at TID 1500 (Measurement Report) Row 12 */ + if (gotoEntryFromNodeList(this, QUALITATIVE_EVALUATIONS) > 0) + { + /* TID 1500 (Measurement Report) Row 13 */ + CHECK_RESULT(addChildContentItem(RT_contains, VT_Code, conceptName, check)); + CHECK_RESULT(getCurrentContentItem().setCodeValue(codeValue, check)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 13")); + } else + result = CMR_EC_NoMeasurementReport; + } + return result; +} + + +OFCondition TID1500_MeasurementReport::addQualitativeEvaluation(const DSRCodedEntryValue &conceptName, + const OFString &stringValue, + const OFBool check) +{ + OFCondition result = EC_IllegalParameter; + /* make sure that the parameters are non-empty */ + if (conceptName.isComplete() && !stringValue.empty()) + { + /* create content item at TID 1500 (Measurement Report) Row 12 if not existing */ + result = createQualitativeEvaluations(); + /* go to content item at TID 1500 (Measurement Report) Row 12 */ + if (gotoEntryFromNodeList(this, QUALITATIVE_EVALUATIONS) > 0) + { + /* TID 1500 (Measurement Report) Row 14 */ + CHECK_RESULT(addChildContentItem(RT_contains, VT_Text, conceptName, check)); + CHECK_RESULT(getCurrentContentItem().setStringValue(stringValue, check)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 14")); + } else + result = CMR_EC_NoMeasurementReport; + } + return result; +} + + +// protected methods + +OFCondition TID1500_MeasurementReport::createMeasurementReport(const CID7021_MeasurementReportDocumentTitles &title) +{ + OFCondition result = EC_IllegalParameter; + /* make sure that there is a coded entry */ + if (title.hasSelectedValue()) + { + /* reassure that the report is definitely empty */ + if (isEmpty()) + { + /* TID 1500 (Measurement Report) Row 1 */ + STORE_RESULT(addContentItem(RT_isRoot, VT_Container, title)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 1")); + /* store ID of root node for later use */ + if (result.good()) + storeEntryInNodeList(MEASUREMENT_REPORT, getNodeID()); + /* TID 1500 (Measurement Report) Row 2 */ + CHECK_RESULT(includeTemplate(Language, AM_belowCurrent, RT_hasConceptMod)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 2")); + /* TID 1500 (Measurement Report) Row 3 */ + CHECK_RESULT(includeTemplate(ObservationContext, AM_afterCurrent, RT_hasObsContext)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 3")); + GOOD_RESULT(storeEntryInNodeList(OBSERVATION_CONTEXT, getNodeID())); + /* TID 1500 (Measurement Report) Row 5 */ + CHECK_RESULT(includeTemplate(ImageLibrary, AM_afterCurrent, RT_contains)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 5")); + /* TID 1500 (Measurement Report) Row 6 */ + CHECK_RESULT(addContentItem(RT_contains, VT_Container, CODE_DCM_ImagingMeasurements)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 6")); + GOOD_RESULT(storeEntryInNodeList(IMAGING_MEASUREMENTS, getNodeID())); + /* TID 1500 (Measurement Report) Row 8 */ + CHECK_RESULT(includeTemplate(VolumetricROIMeasurements, AM_belowCurrent, RT_contains)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 8")); + GOOD_RESULT(storeEntryInNodeList(LAST_VOLUMETRIC_ROI_MEASUREMENTS, getNodeID())); + /* if anything went wrong, clear the report */ + BAD_RESULT(clear()); + } else + result = SR_EC_InvalidTemplateStructure; + } + return result; +} + + +OFCondition TID1500_MeasurementReport::createQualitativeEvaluations() +{ + OFCondition result = EC_Normal; + /* check whether content item at TID 1500 (Measurement Report) Row 12 already exists */ + if (!hasQualitativeEvaluations()) + { + /* if not, go to the preceding content item, which always exists */ + if (gotoEntryFromNodeList(this, IMAGING_MEASUREMENTS) > 0) + { + /* ... and add TID 1500 (Measurement Report) Row 12 */ + STORE_RESULT(addContentItem(RT_contains, VT_Container, CODE_UMLS_QualitativeEvaluations)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1500 - Row 12")); + GOOD_RESULT(storeEntryInNodeList(QUALITATIVE_EVALUATIONS, getNodeID())); + } else + result = CMR_EC_NoMeasurementReport; + } + return result; +} diff --git a/dcmsr/libcmr/tid1600.cc b/dcmsr/libcmr/tid1600.cc index a42276d5..f082ac99 100644 --- a/dcmsr/libcmr/tid1600.cc +++ b/dcmsr/libcmr/tid1600.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class TID1600_ImageLibrary @@ -24,17 +24,18 @@ #include "dcmtk/dcmsr/codes/ucum.h" #include "dcmtk/dcmsr/dsrdattn.h" -#include "dcmtk/dcmsr/dsrnumvl.h" // helper macros for checking the return value of API calls #define CHECK_RESULT(call) if (result.good()) result = call #define STORE_RESULT(call) result = call -#define DELETE_ERROR(pointer) if (result.bad()) delete pointer +#define GOOD_RESULT(call) if (result.good()) call +#define BAD_RESULT(call) if (result.bad()) call // index positions in node list (makes source code more readable) -#define LAST_IMAGE_LIBRARY_GROUP 0 -#define LAST_IMAGE_LIBRARY_ENTRY 1 +#define IMAGE_LIBRARY 0 +#define LAST_IMAGE_LIBRARY_GROUP 1 +#define LAST_IMAGE_LIBRARY_ENTRY 2 // general information on TID 1600 (Image Library) #define TEMPLATE_NUMBER "1600" @@ -44,106 +45,159 @@ // conditions constants -makeOFConditionConst(CMR_EC_NoImageLibraryGroup, OFM_dcmsr, 1600, OF_error, "No Image Library Group"); -makeOFConditionConst(CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors, OFM_dcmsr, 1602, OF_error, "Cannot add multiple Image Library Entry Descriptors"); +makeOFConditionConst(CMR_EC_NoImageLibrary, OFM_dcmsr, 1600, OF_error, "No Image Library"); +makeOFConditionConst(CMR_EC_NoImageLibraryGroup, OFM_dcmsr, 1601, OF_error, "No Image Library Group"); +makeOFConditionConst(CMR_EC_NoImageLibraryEntry, OFM_dcmsr, 1602, OF_error, "No Image Library Entry"); +makeOFConditionConst(CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors, OFM_dcmsr, 1603, OF_error, "Cannot add multiple Image Library Entry Descriptors"); +makeOFConditionConst(CMR_EC_MissingImageLibraryEntryDescriptorModality, OFM_dcmsr, 1604, OF_error, "Missing Image Library Entry Descriptor 'Modality'"); +makeOFConditionConst(CMR_EC_WrongImageLibraryEntryDescriptorModality, OFM_dcmsr, 1605, OF_error, "Wrong Image Library Entry Descriptor 'Modality'"); +makeOFConditionConst(CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded, OFM_dcmsr, 1606, OF_ok, "No Image Library Entry Descriptors to be added"); -TID1600_ImageLibrary::TID1600_ImageLibrary() +TID1600_ImageLibrary::TID1600_ImageLibrary(const OFBool createLibrary) : DSRSubTemplate(TEMPLATE_NUMBER, MAPPING_RESOURCE, MAPPING_RESOURCE_UID) { setExtensible(TEMPLATE_TYPE); - /* need to store last image library group and entry */ - reserveEntriesInNodeList(2); + /* need to store image library, last image library group and entry */ + reserveEntriesInNodeList(3); /* TID 1600 (Image Library) Row 1 */ - if (addChildContentItem(RT_unknown, VT_Container, CODE_DCM_ImageLibrary).good()) - getCurrentContentItem().setAnnotationText("TID 1600 - Row 1"); + if (createLibrary) + createImageLibrary(); +} + + +OFBool TID1600_ImageLibrary::isValid() const +{ + /* check whether base class is valid and image library exists */ + return DSRSubTemplate::isValid() && hasImageLibrary(); +} + + +OFBool TID1600_ImageLibrary::hasImageLibrary() const +{ + /* check for image library (TID 1600 - Row 1) */ + return (getEntryFromNodeList(IMAGE_LIBRARY) > 0); +} + + +OFBool TID1600_ImageLibrary::hasImageLibraryGroup() const +{ + /* check for image library group (TID 1600 - Row 2) */ + return (getEntryFromNodeList(LAST_IMAGE_LIBRARY_GROUP) > 0); +} + + +OFCondition TID1600_ImageLibrary::createNewImageLibrary() +{ + clear(); + /* TID 1600 (Image Library) Row 1 */ + return createImageLibrary(); } OFCondition TID1600_ImageLibrary::addImageGroup() { - OFCondition result = EC_Normal; - /* go to last image library group (if any) */ - if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0) - { - /* TID 1600 (Image Library) Row 2, append to last group */ - STORE_RESULT(addContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup)); - } else { - /* TID 1600 (Image Library) Row 2, create first group (child) */ - STORE_RESULT(addChildContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup)); - } - CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1600 - Row 2")); - /* store ID of recently added node for later use */ - if (result.good()) + OFCondition result = CMR_EC_NoImageLibrary; + /* check whether image library exists */ + if (hasImageLibrary()) { - storeEntryInNodeList(LAST_IMAGE_LIBRARY_GROUP, getNodeID()); - storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, 0 /* forget last entry */); + /* go to last image library group (if any) */ + if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0) + { + /* TID 1600 (Image Library) Row 2, append to last group */ + STORE_RESULT(addContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup)); + } + /* go to image library (root node) */ + else if (gotoEntryFromNodeList(this, IMAGE_LIBRARY) > 0) + { + /* TID 1600 (Image Library) Row 2, create first group (child) */ + STORE_RESULT(addChildContentItem(RT_contains, VT_Container, CODE_DCM_ImageLibraryGroup)); + } else { + /* should never happen but ... */ + result = SR_EC_InvalidTemplateStructure; + } + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1600 - Row 2")); + /* store ID of recently added node for later use */ + if (result.good()) + { + storeEntryInNodeList(LAST_IMAGE_LIBRARY_GROUP, getNodeID()); + storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, 0 /* forget last entry */); + } } return result; } - OFCondition TID1600_ImageLibrary::addImageEntry(DcmItem &dataset, const AddImageMode mode, const OFBool check) { - OFCondition result = EC_MemoryExhausted; - /* create a new subtree in order to "rollback" in case of error */ - DSRDocumentSubTree *tid1601 = new DSRDocumentSubTree; - if (tid1601 != NULL) + OFCondition result = CMR_EC_NoImageLibraryGroup; + /* check whether image library group exists */ + if (hasImageLibraryGroup()) { - DSRImageReferenceValue imageRef; - /* TID 1601 (Image Library Entry) Row 1 */ - STORE_RESULT(tid1601->addContentItem(RT_contains, VT_Image, DSRCodedEntryValue())); - CHECK_RESULT(imageRef.setReference(dataset, check)); - CHECK_RESULT(tid1601->getCurrentContentItem().setImageReference(imageRef, check)); - CHECK_RESULT(tid1601->getCurrentContentItem().setAnnotationText("TID 1601 - Row 1")); - const size_t lastNode = tid1601->getNodeID(); - /* TID 1601 (Image Library Entry) Row 2 */ - if (mode == withAllDescriptors) + /* create a new subtree in order to "rollback" in case of error */ + DSRDocumentSubTree *tid1601 = new DSRDocumentSubTree; + if (tid1601 != NULL) { - /* create a new subtree for TID 1602 (Image Library Entry Descriptors) */ - DSRDocumentSubTree *tid1602 = new DSRDocumentSubTree; - if (tid1602 != NULL) + DSRImageReferenceValue imageRef; + /* TID 1601 (Image Library Entry) Row 1 */ + STORE_RESULT(tid1601->addContentItem(RT_contains, VT_Image, DSRCodedEntryValue(), check)); + CHECK_RESULT(imageRef.setReference(dataset, check)); + CHECK_RESULT(tid1601->getCurrentContentItem().setImageReference(imageRef, check)); + CHECK_RESULT(tid1601->getCurrentContentItem().setAnnotationText("TID 1601 - Row 1")); + const size_t lastNode = tid1601->getNodeID(); + /* TID 1601 (Image Library Entry) Row 2 */ + if (mode == withAllDescriptors) { - /* call the function doing the real work */ - result = addImageEntryDescriptors(*tid1602, dataset, check); - /* if everything was OK, insert new subtree into the template */ - if (result.good() && !tid1602->isEmpty()) + /* create a new subtree for TID 1602 (Image Library Entry Descriptors) */ + DSRDocumentSubTree *tid1602 = new DSRDocumentSubTree; + if (tid1602 != NULL) { - /* insert subtree below current node */ - result = tid1601->insertSubTree(tid1602); - } - /* in case of error, make sure that memory is freed */ - DELETE_ERROR(tid1602); - } else - result = EC_MemoryExhausted; - } - /* if everything was OK, insert new subtree into the template */ - if (result.good()) - { - E_AddMode addMode = AM_afterCurrent; - /* go to last image library entry (if any) */ - if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0) - addMode = AM_afterCurrent; - /* go to last image library group (if any) */ - else if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0) - addMode = AM_belowCurrent; - else - result = CMR_EC_NoImageLibraryGroup; - /* there is at least an image library group */ + /* call the function doing the real work */ + STORE_RESULT(addImageEntryDescriptors(*tid1602, dataset, check)); + /* if everything was OK, insert new subtree into the template */ + if (result.good() && !tid1602->isEmpty()) + { + /* insert subtree below current node */ + STORE_RESULT(tid1601->insertSubTree(tid1602)); + /* in case of error, make sure that memory is freed */ + BAD_RESULT(delete tid1602); + } else { + CHECK_RESULT(CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded); + /* delete the new subtree since it has not been inserted */ + delete tid1602; + } + } else + result = EC_MemoryExhausted; + } + /* if everything was OK, insert new subtree into the template */ if (result.good()) { - /* insert subtree at current position */ - result = insertSubTree(tid1601, addMode); - /* store ID of recently added node for later use */ + E_AddMode addMode = AM_afterCurrent; + /* go to last image library entry (if any) */ + if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0) + addMode = AM_afterCurrent; + /* go to last image library group */ + else if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0) + addMode = AM_belowCurrent; + else { + /* should never happen but ... */ + result = CMR_EC_NoImageLibraryGroup; + } + /* there is at least an image library group */ if (result.good()) - storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, lastNode); + { + /* insert subtree at current position */ + STORE_RESULT(insertSubTree(tid1601, addMode)); + /* store ID of recently added node for later use */ + GOOD_RESULT(storeEntryInNodeList(LAST_IMAGE_LIBRARY_ENTRY, lastNode)); + } } - } - /* in case of error, make sure that memory is freed */ - DELETE_ERROR(tid1601); + /* in case of error, make sure that memory is freed */ + BAD_RESULT(delete tid1601); + } else + result = EC_MemoryExhausted; } return result; } @@ -152,42 +206,179 @@ OFCondition TID1600_ImageLibrary::addImageEntry(DcmItem &dataset, OFCondition TID1600_ImageLibrary::addImageEntryDescriptors(DcmItem &dataset, const OFBool check) { - OFCondition result = EC_MemoryExhausted; - /* create a new subtree in order to "rollback" in case of error */ - DSRDocumentSubTree *subTree = new DSRDocumentSubTree; - if (subTree != NULL) + OFCondition result = CMR_EC_NoImageLibraryGroup; + /* check whether image library group exists */ + if (hasImageLibraryGroup()) { - /* call the function doing the real work */ - result = addImageEntryDescriptors(*subTree, dataset, check); - /* if everything was OK, insert new subtree into the template */ - if (result.good() && !subTree->isEmpty()) + /* create a new subtree in order to "rollback" in case of error */ + DSRDocumentSubTree *subTree = new DSRDocumentSubTree; + if (subTree != NULL) { - /* go to last image library group (if any) */ - if (gotoLastEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0) + /* call the function doing the real work */ + STORE_RESULT(addImageEntryDescriptors(*subTree, dataset, check)); + /* if everything was OK, insert new subtree into the template */ + if (result.good() && !subTree->isEmpty()) { - - /* check whether TID 1600 (Image Library) Row 3 is already there */ - const DSRDocumentTreeNode *childNode = getChildNode(); - if ((childNode != NULL) && (childNode->getRelationshipType() == RT_hasAcqContext)) + /* go to last image library group (if any) */ + if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_GROUP) > 0) { - /* only a single invocation of the included template allowed */ - result = CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors; + /* check whether TID 1600 (Image Library) Row 3 is already there */ + const DSRDocumentTreeNode *childNode = getChildNode(); + if ((childNode != NULL) && (childNode->getRelationshipType() == RT_hasAcqContext)) + { + /* only a single invocation of the included template allowed */ + result = CMR_EC_CannotAddMultipleImageLibraryEntryDescriptors; + } else { + /* insert subtree at current position */ + STORE_RESULT(insertSubTree(subTree, AM_belowCurrentBeforeFirstChild)); + } } else { - /* insert subtree at current position */ - result = insertSubTree(subTree, AM_belowCurrentBeforeFirstChild); + /* should never happen but ... */ + result = CMR_EC_NoImageLibraryGroup; } - } else - result = CMR_EC_NoImageLibraryGroup; - } - /* in case of error, make sure that memory is freed */ - DELETE_ERROR(subTree); + /* in case of error, make sure that memory is freed */ + BAD_RESULT(delete subTree); + } else { + CHECK_RESULT(CMR_EC_NoImageLibraryEntryDescriptorsToBeAdded); + /* delete the new subtree since it has not been inserted */ + delete subTree; + } + } else + result = EC_MemoryExhausted; + } + return result; +} + + +OFCondition TID1600_ImageLibrary::getImageEntryModality(DSRCodedEntryValue &modalityCode) +{ + OFCondition result = CMR_EC_NoImageLibraryEntry; + /* go to last image library entry (if any) */ + if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0) + { + /* get value of TID 1602 (Image Library Entry Descriptors) Row 1 */ + if ((gotoNamedChildNode(CODE_DCM_Modality, OFFalse /*searchIntoSub*/) > 0)) + { + modalityCode = getCurrentContentItem().getCodeValue(); + result = EC_Normal; + } else + result = CMR_EC_MissingImageLibraryEntryDescriptorModality; } + /* in case of error, clear the result variable */ + BAD_RESULT(modalityCode.clear()); + return result; +} + + +// set methods + +OFCondition TID1600_ImageLibrary::setPETImageRadionuclide(const CID4020_PETRadionuclide &radionuclide, + const OFBool check) +{ + /* remember current node */ + const DSRDocumentTreeNodeCursor cursor(getCursor()); + /* go to image library entry and check for expected modality */ + OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography); + /* set content item value (and add a new content item if needed) */ + CHECK_RESULT(setCodeContentItemFromValue(CODE_SRT_Radionuclide, radionuclide, "TID 1607 - Row 1", check)); + /* in case of error, reset cursor to stored node */ + BAD_RESULT(setCursor(cursor)); + return result; +} + + +OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalAgent(const CID4021_PETRadiopharmaceutical &agent, + const OFBool check) +{ + /* remember current node */ + const DSRDocumentTreeNodeCursor cursor(getCursor()); + /* go to image library entry and check for expected modality */ + OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography); + /* set content item value (and add a new content item if needed) */ + CHECK_RESULT(setCodeContentItemFromValue(CODE_SRT_RadiopharmaceuticalAgent, agent, "TID 1607 - Row 2", check)); + /* in case of error, reset cursor to stored node */ + BAD_RESULT(setCursor(cursor)); + return result; +} + + +OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalStartDateTime(const OFString &dateTime, + const OFBool check) +{ + /* remember current node */ + const DSRDocumentTreeNodeCursor cursor(getCursor()); + /* go to image library entry and check for expected modality */ + OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography); + /* set content item value (and add a new content item if needed) */ + CHECK_RESULT(setStringContentItemFromValue(VT_DateTime, CODE_DCM_RadiopharmaceuticalStartTime /*DateTime*/, dateTime, "TID 1607 - Row 4", check)); + /* in case of error, reset cursor to stored node */ + BAD_RESULT(setCursor(cursor)); + return result; +} + + +OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalStopDateTime(const OFString &dateTime, + const OFBool check) +{ + /* remember current node */ + const DSRDocumentTreeNodeCursor cursor(getCursor()); + /* go to image library entry and check for expected modality */ + OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography); + /* set content item value (and add a new content item if needed) */ + CHECK_RESULT(setStringContentItemFromValue(VT_DateTime, CODE_DCM_RadiopharmaceuticalStopTime /*DateTime*/, dateTime, "TID 1607 - Row 5", check)); + /* in case of error, reset cursor to stored node */ + BAD_RESULT(setCursor(cursor)); + return result; +} + + +OFCondition TID1600_ImageLibrary::setPETImageRadiopharmaceuticalVolume(const CMR_SRNumericMeasurementValue &volume, + const OFBool check) +{ + /* remember current node */ + const DSRDocumentTreeNodeCursor cursor(getCursor()); + /* go to image library entry and check for expected modality */ + OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography); + /* set content item value (and add a new content item if needed) */ + CHECK_RESULT(setNumericContentItemFromValue(CODE_DCM_RadiopharmaceuticalVolume, volume, CODE_UCUM_cm3 /*might change with a CP*/, "TID 1607 - Row 6", check)); + /* in case of error, reset cursor to stored node */ + BAD_RESULT(setCursor(cursor)); + return result; +} + + +OFCondition TID1600_ImageLibrary::setPETImageRadionuclideTotalDose(const CMR_SRNumericMeasurementValue &totalDose, + const OFBool check) +{ + /* remember current node */ + const DSRDocumentTreeNodeCursor cursor(getCursor()); + /* go to image library entry and check for expected modality */ + OFCondition result = goAndCheckImageLibraryEntry(CODE_DCM_PositronEmissionTomography); + /* set content item value (and add a new content item if needed) */ + CHECK_RESULT(setNumericContentItemFromValue(CODE_DCM_RadionuclideTotalDose, totalDose, CODE_UCUM_Bq, "TID 1607 - Row 7", check)); + /* in case of error, reset cursor to stored node */ + BAD_RESULT(setCursor(cursor)); return result; } // protected methods +OFCondition TID1600_ImageLibrary::createImageLibrary() +{ + OFCondition result = SR_EC_InvalidTemplateStructure; + if (isEmpty()) + { + /* TID 1600 (Image Library) Row 1 */ + STORE_RESULT(addContentItem(RT_unknown, VT_Container, CODE_DCM_ImageLibrary)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText("TID 1600 - Row 1")); + /* store ID of root node for later use */ + GOOD_RESULT(storeEntryInNodeList(IMAGE_LIBRARY, getNodeID())); + } + return result; +} + + OFCondition TID1600_ImageLibrary::addImageEntryDescriptors(DSRDocumentSubTree &tree, DcmItem &dataset, const OFBool check) @@ -200,9 +391,9 @@ OFCondition TID1600_ImageLibrary::addImageEntryDescriptors(DSRDocumentSubTree &t /* determine modality code from CID 29 */ const CID29e_AcquisitionModality contextGroup; DSRCodedEntryValue modalityCode(contextGroup.mapModality(modality)); - if (modalityCode.isValid()) + if (modalityCode.isComplete()) { - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_Modality)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_Modality, check)); CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(modalityCode, check)); CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1602 - Row 1")); } else { @@ -220,16 +411,16 @@ OFCondition TID1600_ImageLibrary::addImageEntryDescriptors(DSRDocumentSubTree &t { /* alternatively, determine target region code from CID 4031 (using PS 3.16 Annex L) */ regionCode = CID4031e_CommonAnatomicRegions::mapBodyPartExamined(bodyPartExamined); - if (!regionCode.isValid()) + if (!regionCode.isComplete()) { /* report this as a debug message (avoid too many warnings) */ DCMSR_CMR_DEBUG("Cannot map Body Part Examined '" << bodyPartExamined << "' to a coded entry (no mapping to CID 4031 defined)"); } } } - if (regionCode.isValid()) + if (regionCode.isComplete()) { - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_TargetRegion)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_TargetRegion, check)); CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(regionCode, check)); CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1602 - Row 2")); } @@ -239,9 +430,9 @@ OFCondition TID1600_ImageLibrary::addImageEntryDescriptors(DSRDocumentSubTree &t { /* determine image laterality code from CID 244 */ DSRCodedEntryValue lateralityCode(CID244e_Laterality::mapImageLaterality(imageLaterality)); - if (lateralityCode.isValid()) + if (lateralityCode.isComplete()) { - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageLaterality)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageLaterality, check)); CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(lateralityCode, check)); CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1602 - Row 3")); } else { @@ -324,7 +515,7 @@ OFCondition TID1600_ImageLibrary::addProjectionRadiographyDescriptors(DSRDocumen DSRCodedEntryValue modifierCode; if (modifierCode.readSequenceItem(*OFstatic_cast(DcmItem *, object), DCM_ViewModifierCodeSequence).good()) { - CHECK_RESULT(tree.addChildContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageViewModifier)); + CHECK_RESULT(tree.addChildContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ImageViewModifier, check)); CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(modifierCode, check)); CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1603 - Row 2")); tree.goUp(); @@ -391,7 +582,7 @@ OFCondition TID1600_ImageLibrary::addComputedTomographyDescriptors(DSRDocumentSu OFCondition result = EC_Normal; /* TID 1605 (Image Library Entry Descriptors for CT) Row 1 */ DcmSequenceOfItems *ctAcquisitionTypeSequence = NULL; - /* - tbd: only check in functional groups sequences? */ + /* - tbd: only check in functional groups sequences? might use "dcmfg" for this purpose */ if (dataset.findAndGetSequence(DCM_CTAcquisitionTypeSequence, ctAcquisitionTypeSequence, OFTrue /*searchIntoSub*/).good()) { DcmItem *item = ctAcquisitionTypeSequence->getItem(0); @@ -402,9 +593,9 @@ OFCondition TID1600_ImageLibrary::addComputedTomographyDescriptors(DSRDocumentSu { /* determine CT acquisition type code from CID 10013 */ DSRCodedEntryValue acquisitionTypeCode(CID10013e_CTAcquisitionType::mapAcquisitionType(acquisitionType)); - if (acquisitionTypeCode.isValid()) + if (acquisitionTypeCode.isComplete()) { - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_CTAcquisitionType)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_CTAcquisitionType, check)); CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(acquisitionTypeCode, check)); CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1605 - Row 1")); } else { @@ -416,7 +607,7 @@ OFCondition TID1600_ImageLibrary::addComputedTomographyDescriptors(DSRDocumentSu } /* TID 1605 (Image Library Entry Descriptors for CT) Row 2 */ DcmSequenceOfItems *ctReconstructionSequence = NULL; - /* - tbd: only check in functional groups sequences? */ + /* - tbd: only check in functional groups sequences? might use "dcmfg" for this purpose */ if (dataset.findAndGetSequence(DCM_CTReconstructionSequence, ctReconstructionSequence, OFTrue /*searchIntoSub*/).good()) { DcmItem *item = ctReconstructionSequence->getItem(0); @@ -427,9 +618,9 @@ OFCondition TID1600_ImageLibrary::addComputedTomographyDescriptors(DSRDocumentSu { /* determine CT reconstruction algorithm code from CID 10033 */ DSRCodedEntryValue reconstructionAlgorithmCode(CID10033e_CTReconstructionAlgorithm::mapReconstructionAlgorithm(reconstructionAlgorithm)); - if (reconstructionAlgorithmCode.isValid()) + if (reconstructionAlgorithmCode.isComplete()) { - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ReconstructionAlgorithm)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, CODE_DCM_ReconstructionAlgorithm, check)); CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(reconstructionAlgorithmCode, check)); CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1605 - Row 2")); } else { @@ -454,7 +645,7 @@ OFCondition TID1600_ImageLibrary::addMagneticResonanceDescriptors(DSRDocumentSub if ((getStringValueFromDataset(dataset, DCM_PulseSequenceName, sequenceName).good() && !sequenceName.empty()) || (getStringValueFromDataset(dataset, DCM_SequenceName, sequenceName).good() && !sequenceName.empty())) { - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Text, DSRCodedEntryValue("110909", "DCM", "Pulse Sequence Name") /* wrong definition? CODE_DCM_PulseSequenceName */)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Text, DSRCodedEntryValue("110909", "DCM", "Pulse Sequence Name") /* wrong definition: will be fixed with CP-1578 */, check)); CHECK_RESULT(tree.getCurrentContentItem().setStringValue(sequenceName, check)); CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText("TID 1606 - Row 1")); } @@ -480,28 +671,28 @@ OFCondition TID1600_ImageLibrary::addPositronEmissionTomographyDescriptors(DSRDo /* TID 1607 (Image Library Entry Descriptors for PET) Row 2 */ CHECK_RESULT(addCodeContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalCodeSequence, CODE_SRT_RadiopharmaceuticalAgent, "TID 1607 - Row 2", check)); /* TID 1607 (Image Library Entry Descriptors for PET) Row 3 */ - CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideHalfLife, 0 /*pos*/, CODE_SRT_HalfLifeOfRadiopharmaceutical, CODE_UCUM_S, "TID 1607 - Row 3", check)); + CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideHalfLife, 0 /*pos*/, CODE_SRT_HalfLifeOfRadiopharmaceutical, CODE_UCUM_s, "TID 1607 - Row 3", check)); /* TID 1607 (Image Library Entry Descriptors for PET) Row 4 */ CHECK_RESULT(addStringContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalStartDateTime, 0 /*pos*/, VT_DateTime, CODE_DCM_RadiopharmaceuticalStartTime /*DateTime*/, "TID 1607 - Row 4", check)); - /* TID 1607 (Image Library Entry Descriptors for PET) Row 4b */ - CHECK_RESULT(addStringContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalStopDateTime, 0 /*pos*/, VT_DateTime, CODE_DCM_RadiopharmaceuticalStopTime /*DateTime*/, "TID 1607 - Row 4b", check)); /* TID 1607 (Image Library Entry Descriptors for PET) Row 5 */ - CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalVolume, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalVolume, CODE_UCUM_Cm3, "TID 1607 - Row 5", check)); + CHECK_RESULT(addStringContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalStopDateTime, 0 /*pos*/, VT_DateTime, CODE_DCM_RadiopharmaceuticalStopTime /*DateTime*/, "TID 1607 - Row 5", check)); /* TID 1607 (Image Library Entry Descriptors for PET) Row 6 */ - CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideTotalDose, 0 /*pos*/, CODE_DCM_RadionuclideTotalDose, CODE_UCUM_Bq, "TID 1607 - Row 6", check)); + CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalVolume, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalVolume, CODE_UCUM_cm3 /*might change with a CP*/, "TID 1607 - Row 6", check)); /* TID 1607 (Image Library Entry Descriptors for PET) Row 7 */ - CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalSpecificActivity, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalSpecificActivity, CODE_UCUM_BqPerMol, "TID 1607 - Row 7", check)); + CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadionuclideTotalDose, 0 /*pos*/, CODE_DCM_RadionuclideTotalDose, CODE_UCUM_Bq, "TID 1607 - Row 7", check)); /* TID 1607 (Image Library Entry Descriptors for PET) Row 8 */ - CHECK_RESULT(addCodeContentItemFromDataset(tree, *item, DCM_AdministrationRouteCodeSequence, CODE_SRT_RouteOfAdministration, "TID 1607 - Row 8", check)); + CHECK_RESULT(addNumericContentItemFromDataset(tree, *item, DCM_RadiopharmaceuticalSpecificActivity, 0 /*pos*/, CODE_DCM_RadiopharmaceuticalSpecificActivity, CODE_UCUM_BqPerMol, "TID 1607 - Row 8", check)); + /* TID 1607 (Image Library Entry Descriptors for PET) Row 9 */ + CHECK_RESULT(addCodeContentItemFromDataset(tree, *item, DCM_AdministrationRouteCodeSequence, CODE_SRT_RouteOfAdministration, "TID 1607 - Row 9", check)); } } - /* TID 1607 (Image Library Entry Descriptors for PET) Row 9 to 10 + /* TID 1607 (Image Library Entry Descriptors for PET) Row 10 to 11 * - contained in TID 15101 (NM/PET Protocol Context), i.e. not available in the image */ - /* TID 1607 (Image Library Entry Descriptors for PET) Row 11 - * - tbc: where to get "Radionuclide Incubation Time + /* TID 1607 (Image Library Entry Descriptors for PET) Row 12 + * - "Radionuclide Incubation Time" calculated from time of injection and time of starting the scan */ - /* TID 1607 (Image Library Entry Descriptors for PET) Row 12 to 14 + /* TID 1607 (Image Library Entry Descriptors for PET) Row 13 to 15 * - contained in TID 15101 (NM/PET Protocol Context), i.e. available from Modality Worklist, or * - tbd: in TID 3470 (NM/PET Acquisition Context), i.e. from the Acquisition Context Module */ @@ -509,6 +700,150 @@ OFCondition TID1600_ImageLibrary::addPositronEmissionTomographyDescriptors(DSRDo } +OFCondition TID1600_ImageLibrary::goAndCheckImageLibraryEntry(const DSRCodedEntryValue &modalityCode) +{ + OFCondition result = CMR_EC_NoImageLibraryEntry; + /* go to last image library entry (if any) */ + if (gotoEntryFromNodeList(this, LAST_IMAGE_LIBRARY_ENTRY) > 0) + { + /* check whether TID 1602 (Image Library Entry Descriptors) Row 1 has correct value */ + if ((gotoNamedChildNode(CODE_DCM_Modality, OFFalse /*searchIntoSub*/) > 0) && + (getCurrentContentItem().getCodeValue() == modalityCode)) + { + result = EC_Normal; + } else + result = CMR_EC_WrongImageLibraryEntryDescriptorModality; + } + return result; +} + + +OFCondition TID1600_ImageLibrary::setStringContentItemFromValue(const E_ValueType valueType, + const DSRCodedEntryValue &conceptName, + const OFString &stringValue, + const OFString &annotationText, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* check concept name and coded entry value */ + if (conceptName.isComplete()) + { + if (!stringValue.empty()) + { + /* check whether content item is already present. + * (we assume that the content item we are searching for is a successor of the current one) + */ + if (gotoNextNamedNode(conceptName, OFFalse /*searchIntoSub*/) == 0) + { + CHECK_RESULT(addContentItem(RT_hasAcqContext, valueType, conceptName, check)); + } else { + /* make sure that the value type of the existing content item is correct */ + if (getCurrentContentItem().getValueType() == valueType) + { + DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") with \"" << stringValue << "\""); + } else { + DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") ... wrong value type"); + result = SR_EC_InvalidContentItem; + } + } + CHECK_RESULT(getCurrentContentItem().setStringValue(stringValue, check)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText)); + } else + result = SR_EC_InvalidValue; + } else + result = SR_EC_InvalidConceptName; + return result; +} + + +OFCondition TID1600_ImageLibrary::setCodeContentItemFromValue(const DSRCodedEntryValue &conceptName, + const DSRCodedEntryValue &codeValue, + const OFString &annotationText, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* check concept name and coded entry value */ + if (conceptName.isComplete()) + { + if (codeValue.isComplete()) + { + /* check whether content item is already present. + * (we assume that the content item we are searching for is a successor of the current one) + */ + if (gotoNextNamedNode(conceptName, OFFalse /*searchIntoSub*/) == 0) + { + CHECK_RESULT(addContentItem(RT_hasAcqContext, VT_Code, conceptName, check)); + } else { + /* make sure that the value type of the existing content item is correct */ + if (getCurrentContentItem().getValueType() == VT_Code) + { + DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") with " << codeValue); + } else { + DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") ... wrong value type"); + result = SR_EC_InvalidContentItem; + } + } + CHECK_RESULT(getCurrentContentItem().setCodeValue(codeValue, check)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText)); + } else + result = SR_EC_InvalidValue; + } else + result = SR_EC_InvalidConceptName; + return result; +} + + +OFCondition TID1600_ImageLibrary::setNumericContentItemFromValue(const DSRCodedEntryValue &conceptName, + const DSRNumericMeasurementValue &numericValue, + const DSRCodedEntryValue &measurementUnit, + const OFString &annotationText, + const OFBool check) +{ + OFCondition result = EC_Normal; + /* check concept name and coded entry value */ + if (conceptName.isComplete()) + { + if (numericValue.isComplete()) + { + /* check whether content item is already present. + * (we assume that the content item we are searching for is a successor of the current one) + */ + if (gotoNextNamedNode(conceptName, OFFalse /*searchIntoSub*/) == 0) + { + CHECK_RESULT(addContentItem(RT_hasAcqContext, VT_Num, conceptName, check)); + } else { + /* make sure that the value type of the existing content item is correct */ + if (getCurrentContentItem().getValueType() == VT_Num) + { + DCMSR_CMR_DEBUG("Replacing value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") with " << numericValue); + } else { + DCMSR_CMR_WARN("Cannot replace value of '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ") ... wrong value type"); + result = SR_EC_InvalidContentItem; + } + } + /* check whether measurement unit meets the template constraint */ + if (result.good() && !measurementUnit.isEmpty() && (numericValue.getMeasurementUnit() != measurementUnit)) + { + DCMSR_CMR_WARN("Wrong measurement unit for '" << conceptName.getCodeMeaning() + << "' content item (" << annotationText << ")"); + result = SR_EC_ValueSetConstraintViolated; + } + CHECK_RESULT(getCurrentContentItem().setNumericValue(numericValue, check)); + CHECK_RESULT(getCurrentContentItem().setAnnotationText(annotationText)); + } else + result = SR_EC_InvalidValue; + } else + result = SR_EC_InvalidConceptName; + return result; +} + + // static helper functions OFCondition TID1600_ImageLibrary::addStringContentItemFromDataset(DSRDocumentSubTree &tree, @@ -526,7 +861,7 @@ OFCondition TID1600_ImageLibrary::addStringContentItemFromDataset(DSRDocumentSub if (getStringValueFromDataset(dataset, tagKey, stringValue, pos).good() && !stringValue.empty()) { /* create new content item, set concept name and value */ - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, valueType, conceptName)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, valueType, conceptName, check)); CHECK_RESULT(tree.getCurrentContentItem().setStringValue(stringValue, check)); if (!annotationText.empty()) CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText(annotationText)); @@ -545,9 +880,9 @@ OFCondition TID1600_ImageLibrary::addCodeContentItemFromDataset(DSRDocumentSubTr OFCondition result = EC_Normal; DSRCodedEntryValue codedEntry; /* get coded entry from code sequence in dataset */ - if (codedEntry.readSequence(dataset, tagKey, "3" /*type*/).good() && codedEntry.isValid()) + if (codedEntry.readSequence(dataset, tagKey, "3" /*type*/).good() && codedEntry.isComplete()) { - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, conceptName)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Code, conceptName, check)); CHECK_RESULT(tree.getCurrentContentItem().setCodeValue(codedEntry, check)); if (!annotationText.empty()) CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText(annotationText)); @@ -571,7 +906,7 @@ OFCondition TID1600_ImageLibrary::addNumericContentItemFromDataset(DSRDocumentSu if (getStringValueFromDataset(dataset, tagKey, numericValue, pos).good() && !numericValue.empty()) { /* create new content item, set concept name and value */ - CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Num, conceptName)); + CHECK_RESULT(tree.addContentItem(RT_hasAcqContext, VT_Num, conceptName, check)); CHECK_RESULT(tree.getCurrentContentItem().setNumericValue(DSRNumericMeasurementValue(numericValue, measurementUnit), check)); if (!annotationText.empty()) CHECK_RESULT(tree.getCurrentContentItem().setAnnotationText(annotationText)); diff --git a/dcmsr/libsrc/CMakeLists.txt b/dcmsr/libsrc/CMakeLists.txt index 12ca3601..2e2e2bb7 100644 --- a/dcmsr/libsrc/CMakeLists.txt +++ b/dcmsr/libsrc/CMakeLists.txt @@ -1,5 +1,5 @@ # create library from source files -DCMTK_ADD_LIBRARY(dcmsr dsrcitem dsrcodtn dsrcodvl dsrcomtn dsrcomvl dsrcontn dsrcsidl dsrdattn dsrdoc dsrdocst dsrdoctn dsrdoctr dsrdtitn dsrimgfr dsrimgse dsrimgtn dsrimgvl dsrnumtn dsrnumvl dsrpnmtn dsrrefin dsrreftn dsrscogr dsrsc3gr dsrscotn dsrsc3tn dsrscovl dsrsc3vl dsrsoprf dsrstrvl dsrtcodt dsrtcosp dsrtcotn dsrtcoto dsrtcovl dsrtextn dsrtimtn dsrtncsr dsrtree dsrtypes dsruidtn dsrwavch dsrwavtn dsrwavvl dsrxmlc dsrxmld dsriodcc dsrbascc dsrenhcc dsrcomcc dsrkeycc dsrmamcc dsrchecc dsrcolcc dsrprocc dsrxrdcc dsrspecc dsrmaccc dsrimpcc dsrc3dcc dsrrrdcc dsrctpl dsrrtpl dsrstpl dsrctxgr) +DCMTK_ADD_LIBRARY(dcmsr dsrcitem dsrcodtn dsrcodvl dsrcomtn dsrcomvl dsrcontn dsrcsidl dsrdattn dsrdoc dsrdocst dsrdoctn dsrdoctr dsrdtitn dsrimgfr dsrimgse dsrimgtn dsrimgvl dsrnumtn dsrnumvl dsrpnmtn dsrposcn dsrrefin dsrreftn dsrscogr dsrsc3gr dsrscotn dsrsc3tn dsrscovl dsrsc3vl dsrsoprf dsrstrvl dsrtcodt dsrtcosp dsrtcotn dsrtcoto dsrtcovl dsrtextn dsrtimtn dsrtpltn dsrtree dsrtypes dsruidtn dsrwavch dsrwavtn dsrwavvl dsrxmlc dsrxmld dsriodcc dsrbascc dsrenhcc dsrcomcc dsrkeycc dsrmamcc dsrchecc dsrcolcc dsrprocc dsrxrdcc dsrspecc dsrmaccc dsrimpcc dsrc3dcc dsrrrdcc dsracqcc dsrctpl dsrrtpl dsrstpl dsrctxgr) DCMTK_TARGET_LINK_MODULES(dcmsr ofstd oflog dcmdata dcmimgle dcmimage) DCMTK_TARGET_LINK_LIBRARIES(dcmsr ${LIBXML_LIBS}) diff --git a/dcmsr/libsrc/Makefile.dep b/dcmsr/libsrc/Makefile.dep index bfacd51a..f1e61dc3 100644 --- a/dcmsr/libsrc/Makefile.dep +++ b/dcmsr/libsrc/Makefile.dep @@ -1,3 +1,119 @@ +dsracqcc.o: dsracqcc.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/dsracqcc.h ../include/dcmtk/dcmsr/dsriodcc.h \ + ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ + ../include/dcmtk/dcmsr/dsdefine.h dsrbascc.o: dsrbascc.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrbascc.h ../include/dcmtk/dcmsr/dsriodcc.h \ ../include/dcmtk/dcmsr/dsrtypes.h \ @@ -41,6 +157,8 @@ dsrbascc.o: dsrbascc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -109,6 +227,7 @@ dsrbascc.o: dsrbascc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrc3dcc.o: dsrc3dcc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -154,6 +273,8 @@ dsrc3dcc.o: dsrc3dcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -222,6 +343,7 @@ dsrc3dcc.o: dsrc3dcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrchecc.o: dsrchecc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -267,6 +389,8 @@ dsrchecc.o: dsrchecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -335,6 +459,7 @@ dsrchecc.o: dsrchecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrcitem.o: dsrcitem.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -379,6 +504,8 @@ dsrcitem.o: dsrcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -447,11 +574,13 @@ dsrcitem.o: dsrcitem.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdoctn.h \ ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrscovl.h \ ../include/dcmtk/dcmsr/dsrscogr.h ../include/dcmtk/dcmsr/dsrtlist.h \ @@ -512,6 +641,8 @@ dsrcodtn.o: dsrcodtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -580,12 +711,14 @@ dsrcodtn.o: dsrcodtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h dsrcodvl.o: dsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -630,6 +763,8 @@ dsrcodvl.o: dsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -698,6 +833,7 @@ dsrcodvl.o: dsrcodvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -745,6 +881,8 @@ dsrcolcc.o: dsrcolcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -813,6 +951,7 @@ dsrcolcc.o: dsrcolcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrcomcc.o: dsrcomcc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -858,6 +997,8 @@ dsrcomcc.o: dsrcomcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -926,6 +1067,7 @@ dsrcomcc.o: dsrcomcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrcomtn.o: dsrcomtn.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -970,6 +1112,8 @@ dsrcomtn.o: dsrcomtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1038,12 +1182,14 @@ dsrcomtn.o: dsrcomtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -1089,6 +1235,8 @@ dsrcomvl.o: dsrcomvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1157,6 +1305,7 @@ dsrcomvl.o: dsrcomvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h @@ -1202,6 +1351,8 @@ dsrcontn.o: dsrcontn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1270,12 +1421,14 @@ dsrcontn.o: dsrcontn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcontn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h dsrcsidl.o: dsrcsidl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -1320,6 +1473,8 @@ dsrcsidl.o: dsrcsidl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1388,6 +1543,7 @@ dsrcsidl.o: dsrcsidl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -1433,6 +1589,8 @@ dsrctpl.o: dsrctpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1501,22 +1659,24 @@ dsrctpl.o: dsrctpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdocst.h \ + ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdoctn.h \ ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ - ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ - ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ - ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrsc3vl.h \ - ../include/dcmtk/dcmsr/dsrsc3gr.h ../include/dcmtk/dcmsr/dsrtcovl.h \ - ../include/dcmtk/dcmsr/dsrtcodt.h ../include/dcmtk/dcmsr/dsrtcosp.h \ - ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ - ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ - ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h + ../include/dcmtk/dcmsr/dsrdocst.h ../include/dcmtk/dcmsr/dsrcitem.h \ + ../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrscovl.h \ + ../include/dcmtk/dcmsr/dsrscogr.h ../include/dcmtk/dcmsr/dsrtlist.h \ + ../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \ + ../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \ + ../include/dcmtk/dcmsr/dsrtcosp.h ../include/dcmtk/dcmsr/dsrtcoto.h \ + ../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrimgvl.h \ + ../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrimgse.h \ + ../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h dsrctxgr.o: dsrctxgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrctxgr.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../include/dcmtk/dcmsr/dsrtypes.h \ @@ -1560,6 +1720,8 @@ dsrctxgr.o: dsrctxgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1628,6 +1790,7 @@ dsrctxgr.o: dsrctxgr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h @@ -1673,6 +1836,8 @@ dsrdattn.o: dsrdattn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1741,12 +1906,14 @@ dsrdattn.o: dsrdattn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdattn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -1794,6 +1961,8 @@ dsrdoc.o: dsrdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1862,11 +2031,12 @@ dsrdoc.o: dsrdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -1876,7 +2046,8 @@ dsrdoc.o: dsrdoc.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrrtpl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrrtpl.h \ ../include/dcmtk/dcmsr/dsrctpl.h ../include/dcmtk/dcmsr/dsrsoprf.h \ ../include/dcmtk/dcmsr/dsrrefin.h ../include/dcmtk/dcmsr/dsrcsidl.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \ @@ -1926,6 +2097,8 @@ dsrdocst.o: dsrdocst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -1994,11 +2167,12 @@ dsrdocst.o: dsrdocst.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -2008,8 +2182,12 @@ dsrdocst.o: dsrdocst.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrcontn.h \ - ../include/dcmtk/dcmsr/dsrreftn.h ../include/dcmtk/dcmsr/dsriodcc.h + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../include/dcmtk/dcmsr/dsrcontn.h ../include/dcmtk/dcmsr/dsrreftn.h \ + ../include/dcmtk/dcmsr/dsrtpltn.h ../include/dcmtk/dcmsr/dsrstpl.h \ + ../include/dcmtk/dcmsr/dsrdoctr.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/dsriodcc.h dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtypes.h \ @@ -2053,6 +2231,8 @@ dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2121,10 +2301,12 @@ dsrdoctn.o: dsrdoctn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrdtitn.h ../include/dcmtk/dcmsr/dsrstrvl.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \ @@ -2172,6 +2354,8 @@ dsrdoctr.o: dsrdoctr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2240,11 +2424,12 @@ dsrdoctr.o: dsrdoctr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -2254,9 +2439,11 @@ dsrdoctr.o: dsrdoctr.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrcontn.h \ - ../include/dcmtk/dcmsr/dsrreftn.h ../include/dcmtk/dcmsr/dsrxmld.h \ - ../include/dcmtk/dcmsr/dsrxmlc.h ../include/dcmtk/dcmsr/dsriodcc.h + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h \ + ../include/dcmtk/dcmsr/dsrcontn.h ../include/dcmtk/dcmsr/dsrreftn.h \ + ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h \ + ../include/dcmtk/dcmsr/dsriodcc.h dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -2299,6 +2486,8 @@ dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2367,12 +2556,14 @@ dsrdtitn.o: dsrdtitn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrdtitn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -2419,6 +2610,8 @@ dsrenhcc.o: dsrenhcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2487,6 +2680,7 @@ dsrenhcc.o: dsrenhcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrimgfr.o: dsrimgfr.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2531,6 +2725,8 @@ dsrimgfr.o: dsrimgfr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2599,6 +2795,7 @@ dsrimgfr.o: dsrimgfr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2643,6 +2840,8 @@ dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2711,6 +2910,7 @@ dsrimgse.o: dsrimgse.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -2755,6 +2955,8 @@ dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2823,12 +3025,14 @@ dsrimgtn.o: dsrimgtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrimgtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrtlist.h \ @@ -2876,6 +3080,8 @@ dsrimgvl.o: dsrimgvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -2944,6 +3150,7 @@ dsrimgvl.o: dsrimgvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrtlist.h \ @@ -3014,6 +3221,8 @@ dsrimpcc.o: dsrimpcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3082,6 +3291,7 @@ dsrimpcc.o: dsrimpcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsriodcc.o: dsriodcc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3126,6 +3336,8 @@ dsriodcc.o: dsriodcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3194,6 +3406,7 @@ dsriodcc.o: dsriodcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrkeycc.o: dsrkeycc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3239,6 +3452,8 @@ dsrkeycc.o: dsrkeycc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3307,6 +3522,7 @@ dsrkeycc.o: dsrkeycc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrmaccc.o: dsrmaccc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3352,6 +3568,8 @@ dsrmaccc.o: dsrmaccc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3420,6 +3638,7 @@ dsrmaccc.o: dsrmaccc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrmamcc.o: dsrmamcc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3465,6 +3684,8 @@ dsrmamcc.o: dsrmamcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3533,6 +3754,7 @@ dsrmamcc.o: dsrmamcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrnumtn.o: dsrnumtn.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -3577,6 +3799,8 @@ dsrnumtn.o: dsrnumtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3645,12 +3869,14 @@ dsrnumtn.o: dsrnumtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrnumtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -3696,6 +3922,8 @@ dsrnumvl.o: dsrnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3764,6 +3992,7 @@ dsrnumvl.o: dsrnumvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrcodvl.h \ @@ -3811,6 +4040,8 @@ dsrpnmtn.o: dsrpnmtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3879,15 +4110,132 @@ dsrpnmtn.o: dsrpnmtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrpnmtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h +dsrposcn.o: dsrposcn.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/dsrposcn.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ + ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtypes.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ + ../../oflog/include/dcmtk/oflog/oflog.h \ + ../../oflog/include/dcmtk/oflog/logger.h \ + ../../oflog/include/dcmtk/oflog/config.h \ + ../../oflog/include/dcmtk/oflog/config/defines.h \ + ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ + ../../oflog/include/dcmtk/oflog/loglevel.h \ + ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../oflog/include/dcmtk/oflog/tchar.h \ + ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ + ../../oflog/include/dcmtk/oflog/appender.h \ + ../../ofstd/include/dcmtk/ofstd/ofaptr.h \ + ../../oflog/include/dcmtk/oflog/layout.h \ + ../../oflog/include/dcmtk/oflog/streams.h \ + ../../oflog/include/dcmtk/oflog/helpers/pointer.h \ + ../../oflog/include/dcmtk/oflog/thread/syncprim.h \ + ../../oflog/include/dcmtk/oflog/spi/filter.h \ + ../../oflog/include/dcmtk/oflog/helpers/lockfile.h \ + ../../oflog/include/dcmtk/oflog/spi/logfact.h \ + ../../oflog/include/dcmtk/oflog/logmacro.h \ + ../../oflog/include/dcmtk/oflog/helpers/snprintf.h \ + ../../oflog/include/dcmtk/oflog/tracelog.h \ + ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ + ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ + ../../ofstd/include/dcmtk/ofstd/ofthread.h \ + ../../ofstd/include/dcmtk/ofstd/offile.h \ + ../../ofstd/include/dcmtk/ofstd/ofstd.h \ + ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcxfer.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvr.h \ + ../../ofstd/include/dcmtk/ofstd/ofglobal.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcistrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcostrma.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcuid.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctagkey.h \ + ../../dcmdata/include/dcmtk/dcmdata/dctag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicent.h \ + ../../dcmdata/include/dcmtk/dcmdata/dchashdi.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdict.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdeftag.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcobject.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcstack.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcelem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcitem.h \ + ../../dcmdata/include/dcmtk/dcmdata/dclist.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpcache.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcmetinf.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdatset.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcsequen.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcfilefo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdicdir.h \ + ../../ofstd/include/dcmtk/ofstd/ofmap.h \ + ../../ofstd/include/dcmtk/ofstd/ofutil.h \ + ../../ofstd/include/dcmtk/ofstd/variadic/tuplefwd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcdirrec.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrulup.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrul.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixseq.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcofsetl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcbytstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrae.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvras.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrcs.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrda.h \ + ../../ofstd/include/dcmtk/ofstd/ofdate.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrds.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrdt.h \ + ../../ofstd/include/dcmtk/ofstd/ofdatime.h \ + ../../ofstd/include/dcmtk/ofstd/oftime.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvris.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrtm.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrui.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrur.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcchrstr.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlo.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrlt.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpn.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsh.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrst.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvruc.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrut.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrobow.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcpixel.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrpobw.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcovlay.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrat.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrss.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrus.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrsl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfl.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ + ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h dsrprocc.o: dsrprocc.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrprocc.h ../include/dcmtk/dcmsr/dsriodcc.h \ ../include/dcmtk/dcmsr/dsrtypes.h \ @@ -3931,6 +4279,8 @@ dsrprocc.o: dsrprocc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -3999,6 +4349,7 @@ dsrprocc.o: dsrprocc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrrefin.o: dsrrefin.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4043,6 +4394,8 @@ dsrrefin.o: dsrrefin.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4111,6 +4464,7 @@ dsrrefin.o: dsrrefin.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -4157,6 +4511,8 @@ dsrreftn.o: dsrreftn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4225,12 +4581,14 @@ dsrreftn.o: dsrreftn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrreftn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h dsrrrdcc.o: dsrrrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4276,6 +4634,8 @@ dsrrrdcc.o: dsrrrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4344,6 +4704,7 @@ dsrrrdcc.o: dsrrrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4390,6 +4751,8 @@ dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4458,11 +4821,12 @@ dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -4472,7 +4836,8 @@ dsrrtpl.o: dsrrtpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \ ../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h dsrsc3gr.o: dsrsc3gr.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4517,6 +4882,8 @@ dsrsc3gr.o: dsrsc3gr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4585,6 +4952,7 @@ dsrsc3gr.o: dsrsc3gr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4629,6 +4997,8 @@ dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4697,12 +5067,14 @@ dsrsc3tn.o: dsrsc3tn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrsc3tn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \ @@ -4749,6 +5121,8 @@ dsrsc3vl.o: dsrsc3vl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4817,6 +5191,7 @@ dsrsc3vl.o: dsrsc3vl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrsc3gr.h \ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \ @@ -4863,6 +5238,8 @@ dsrscogr.o: dsrscogr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -4931,6 +5308,7 @@ dsrscogr.o: dsrscogr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -4975,6 +5353,8 @@ dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5043,12 +5423,14 @@ dsrscotn.o: dsrscotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrscotn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \ @@ -5095,6 +5477,8 @@ dsrscovl.o: dsrscovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5163,6 +5547,7 @@ dsrscovl.o: dsrscovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrscogr.h \ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrxmld.h \ @@ -5182,6 +5567,8 @@ dsrsoprf.o: dsrsoprf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ @@ -5278,6 +5665,7 @@ dsrsoprf.o: dsrsoprf.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ @@ -5325,6 +5713,8 @@ dsrspecc.o: dsrspecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5393,6 +5783,7 @@ dsrspecc.o: dsrspecc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -5439,6 +5830,8 @@ dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5507,11 +5900,12 @@ dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrdoctn.h \ - ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrcitem.h ../include/dcmtk/dcmsr/dsrnumvl.h \ ../include/dcmtk/dcmsr/dsrscovl.h ../include/dcmtk/dcmsr/dsrscogr.h \ @@ -5521,7 +5915,8 @@ dsrstpl.o: dsrstpl.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtcoto.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrimgvl.h ../include/dcmtk/dcmsr/dsrimgfr.h \ ../include/dcmtk/dcmsr/dsrimgse.h ../include/dcmtk/dcmsr/dsrwavvl.h \ - ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrctpl.h + ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -5564,6 +5959,8 @@ dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5632,6 +6029,7 @@ dsrstrvl.o: dsrstrvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -5677,6 +6075,8 @@ dsrtcodt.o: dsrtcodt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5745,6 +6145,7 @@ dsrtcodt.o: dsrtcodt.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -5789,6 +6190,8 @@ dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5857,6 +6260,7 @@ dsrtcosp.o: dsrtcosp.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -5901,6 +6305,8 @@ dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -5969,12 +6375,14 @@ dsrtcotn.o: dsrtcotn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtcotn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrtcosp.h \ @@ -6022,6 +6430,8 @@ dsrtcoto.o: dsrtcoto.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6090,6 +6500,7 @@ dsrtcoto.o: dsrtcoto.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -6134,6 +6545,8 @@ dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6202,6 +6615,7 @@ dsrtcovl.o: dsrtcovl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtcodt.h \ ../include/dcmtk/dcmsr/dsrtlist.h ../include/dcmtk/dcmsr/dsrtcosp.h \ @@ -6249,6 +6663,8 @@ dsrtextn.o: dsrtextn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6317,12 +6733,14 @@ dsrtextn.o: dsrtextn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtextn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -6368,6 +6786,8 @@ dsrtimtn.o: dsrtimtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6436,37 +6856,36 @@ dsrtimtn.o: dsrtimtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtimtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h -dsrtncsr.o: dsrtncsr.cc ../../config/include/dcmtk/config/osconfig.h \ - ../include/dcmtk/dcmsr/dsrtncsr.h \ - ../../ofstd/include/dcmtk/ofstd/ofstring.h \ - ../../ofstd/include/dcmtk/ofstd/oftypes.h \ - ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ - ../../ofstd/include/dcmtk/ofstd/ofcast.h \ - ../../ofstd/include/dcmtk/ofstd/ofexport.h \ - ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ - ../../ofstd/include/dcmtk/ofstd/ofstream.h \ - ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../../ofstd/include/dcmtk/ofstd/oflist.h \ - ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtypes.h \ +dsrtpltn.o: dsrtpltn.cc ../../config/include/dcmtk/config/osconfig.h \ + ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ ../../dcmdata/include/dcmtk/dcmdata/dctypes.h \ ../../oflog/include/dcmtk/oflog/oflog.h \ ../../oflog/include/dcmtk/oflog/logger.h \ ../../oflog/include/dcmtk/oflog/config.h \ + ../../ofstd/include/dcmtk/ofstd/ofdefine.h \ + ../../ofstd/include/dcmtk/ofstd/ofcast.h \ + ../../ofstd/include/dcmtk/ofstd/ofexport.h \ + ../../ofstd/include/dcmtk/ofstd/ofstdinc.h \ ../../oflog/include/dcmtk/oflog/config/defines.h \ ../../oflog/include/dcmtk/oflog/helpers/threadcf.h \ ../../oflog/include/dcmtk/oflog/loglevel.h \ ../../ofstd/include/dcmtk/ofstd/ofvector.h \ + ../../ofstd/include/dcmtk/ofstd/oftypes.h \ + ../../ofstd/include/dcmtk/ofstd/ofstream.h \ ../../oflog/include/dcmtk/oflog/tstring.h \ + ../../ofstd/include/dcmtk/ofstd/ofstring.h \ ../../oflog/include/dcmtk/oflog/tchar.h \ ../../oflog/include/dcmtk/oflog/spi/apndatch.h \ ../../oflog/include/dcmtk/oflog/appender.h \ @@ -6483,12 +6902,15 @@ dsrtncsr.o: dsrtncsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../oflog/include/dcmtk/oflog/tracelog.h \ ../../ofstd/include/dcmtk/ofstd/ofconapp.h \ ../../ofstd/include/dcmtk/ofstd/ofcmdln.h \ + ../../ofstd/include/dcmtk/ofstd/oflist.h \ ../../ofstd/include/dcmtk/ofstd/ofconsol.h \ ../../ofstd/include/dcmtk/ofstd/ofthread.h \ ../../ofstd/include/dcmtk/ofstd/offile.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6557,8 +6979,27 @@ dsrtncsr.o: dsrtncsr.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ - ../include/dcmtk/dcmsr/dsrtnant.h + ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtpltn.h \ + ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ + ../include/dcmtk/dcmsr/dsrtncsr.h \ + ../../ofstd/include/dcmtk/ofstd/ofstack.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ + ../include/dcmtk/dcmsr/dsrstpl.h ../include/dcmtk/dcmsr/dsrdoctr.h \ + ../include/dcmtk/dcmsr/dsrdocst.h ../include/dcmtk/dcmsr/dsrcitem.h \ + ../include/dcmtk/dcmsr/dsrnumvl.h ../include/dcmtk/dcmsr/dsrscovl.h \ + ../include/dcmtk/dcmsr/dsrscogr.h ../include/dcmtk/dcmsr/dsrtlist.h \ + ../include/dcmtk/dcmsr/dsrsc3vl.h ../include/dcmtk/dcmsr/dsrsc3gr.h \ + ../include/dcmtk/dcmsr/dsrtcovl.h ../include/dcmtk/dcmsr/dsrtcodt.h \ + ../include/dcmtk/dcmsr/dsrtcosp.h ../include/dcmtk/dcmsr/dsrtcoto.h \ + ../include/dcmtk/dcmsr/dsrcomvl.h ../include/dcmtk/dcmsr/dsrimgvl.h \ + ../include/dcmtk/dcmsr/dsrimgfr.h ../include/dcmtk/dcmsr/dsrimgse.h \ + ../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrwavch.h \ + ../../ofstd/include/dcmtk/ofstd/ofmem.h ../include/dcmtk/dcmsr/dsrctpl.h \ + ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtree.h ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -6601,6 +7042,8 @@ dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6669,10 +7112,11 @@ dsrtree.o: dsrtree.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -6715,6 +7159,8 @@ dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6783,12 +7229,14 @@ dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtextn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrcodtn.h \ ../include/dcmtk/dcmsr/dsrnumtn.h ../include/dcmtk/dcmsr/dsrnumvl.h \ @@ -6813,7 +7261,7 @@ dsrtypes.o: dsrtypes.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrprocc.h ../include/dcmtk/dcmsr/dsrxrdcc.h \ ../include/dcmtk/dcmsr/dsrspecc.h ../include/dcmtk/dcmsr/dsrmaccc.h \ ../include/dcmtk/dcmsr/dsrimpcc.h ../include/dcmtk/dcmsr/dsrc3dcc.h \ - ../include/dcmtk/dcmsr/dsrrrdcc.h + ../include/dcmtk/dcmsr/dsrrrdcc.h ../include/dcmtk/dcmsr/dsracqcc.h dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../include/dcmtk/dcmsr/dsrtypes.h \ ../../dcmdata/include/dcmtk/dcmdata/dctk.h \ @@ -6856,6 +7304,8 @@ dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -6924,12 +7374,14 @@ dsruidtn.o: dsruidtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsruidtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrstrvl.h ../include/dcmtk/dcmsr/dsrxmld.h \ ../include/dcmtk/dcmsr/dsrxmlc.h @@ -6975,6 +7427,8 @@ dsrwavch.o: dsrwavch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -7043,6 +7497,7 @@ dsrwavch.o: dsrwavch.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrtlist.h \ ../include/dcmtk/dcmsr/dsrxmld.h ../include/dcmtk/dcmsr/dsrxmlc.h @@ -7088,6 +7543,8 @@ dsrwavtn.o: dsrwavtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -7156,12 +7613,14 @@ dsrwavtn.o: dsrwavtn.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrwavtn.h \ ../include/dcmtk/dcmsr/dsrdoctn.h ../include/dcmtk/dcmsr/dsrtree.h \ ../include/dcmtk/dcmsr/dsrtncsr.h \ ../../ofstd/include/dcmtk/ofstd/ofstack.h \ - ../include/dcmtk/dcmsr/dsrtnant.h ../include/dcmtk/dcmsr/dsrcodvl.h \ + ../include/dcmtk/dcmsr/dsrposcn.h ../include/dcmtk/dcmsr/dsrtnant.h \ + ../include/dcmtk/dcmsr/dsrcodvl.h \ ../../ofstd/include/dcmtk/ofstd/ofexbl.h \ ../include/dcmtk/dcmsr/dsrwavvl.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrtlist.h \ @@ -7208,6 +7667,8 @@ dsrwavvl.o: dsrwavvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -7276,6 +7737,7 @@ dsrwavvl.o: dsrwavvl.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrcomvl.h \ ../include/dcmtk/dcmsr/dsrwavch.h ../include/dcmtk/dcmsr/dsrtlist.h \ @@ -7332,6 +7794,8 @@ dsrxmld.o: dsrxmld.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -7400,6 +7864,7 @@ dsrxmld.o: dsrxmld.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h ../include/dcmtk/dcmsr/dsrxmlc.h dsrxrdcc.o: dsrxrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ @@ -7445,6 +7910,8 @@ dsrxrdcc.o: dsrxrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../ofstd/include/dcmtk/ofstd/ofstd.h \ ../../ofstd/include/dcmtk/ofstd/oftraits.h \ ../../ofstd/include/dcmtk/ofstd/ofcond.h \ + ../../ofstd/include/dcmtk/ofstd/oflimits.h \ + ../../config/include/dcmtk/config/arith.h \ ../../dcmdata/include/dcmtk/dcmdata/dcdefine.h \ ../../dcmdata/include/dcmtk/dcmdata/dcswap.h \ ../../dcmdata/include/dcmtk/dcmdata/dcerror.h \ @@ -7513,5 +7980,6 @@ dsrxrdcc.o: dsrxrdcc.cc ../../config/include/dcmtk/config/osconfig.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrfd.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrof.h \ ../../dcmdata/include/dcmtk/dcmdata/dcvrod.h \ + ../../dcmdata/include/dcmtk/dcmdata/dcvrol.h \ ../../dcmdata/include/dcmtk/dcmdata/cmdlnarg.h \ ../include/dcmtk/dcmsr/dsdefine.h diff --git a/dcmsr/libsrc/Makefile.in b/dcmsr/libsrc/Makefile.in index 3ba71399..f62d6a18 100644 --- a/dcmsr/libsrc/Makefile.in +++ b/dcmsr/libsrc/Makefile.in @@ -22,18 +22,18 @@ LOCALINCLUDES = -I$(ofstddir)/include -I$(oflogdir)/include -I$(dcmdatadir)/incl -I$(dcmimgledir)/include -I$(dcmimagedir)/include LOCALDEFS = -objs = dsrdoc.o dsrtree.o dsrtncsr.o dsrdoctn.o dsrdoctr.o dsrdocst.o \ +objs = dsrdoc.o dsrposcn.o dsrtree.o dsrdoctn.o dsrdoctr.o dsrdocst.o \ dsrctpl.o dsrrtpl.o dsrstpl.o dsrctxgr.o dsrcitem.o dsrtypes.o \ dsrimgfr.o dsrimgse.o dsrscogr.o dsrsc3gr.o dsrtcodt.o dsrtcosp.o \ dsrtcoto.o dsrwavch.o dsrstrvl.o dsrcodvl.o dsrnumvl.o dsrscovl.o \ dsrsc3vl.o dsrtcovl.o dsrcomvl.o dsrimgvl.o dsrwavvl.o dsrtextn.o \ dsrcodtn.o dsrnumtn.o dsrdtitn.o dsrdattn.o dsrtimtn.o dsruidtn.o \ dsrpnmtn.o dsrscotn.o dsrsc3tn.o dsrtcotn.o dsrcomtn.o dsrimgtn.o \ - dsrwavtn.o dsrcontn.o dsrreftn.o dsrsoprf.o dsrrefin.o dsrcsidl.o \ - dsrxmlc.o dsrxmld.o \ + dsrwavtn.o dsrcontn.o dsrreftn.o dsrtpltn.o \ + dsrsoprf.o dsrrefin.o dsrcsidl.o dsrxmlc.o dsrxmld.o \ dsriodcc.o dsrbascc.o dsrenhcc.o dsrcomcc.o dsrkeycc.o dsrmamcc.o \ dsrchecc.o dsrcolcc.o dsrprocc.o dsrxrdcc.o dsrspecc.o dsrmaccc.o \ - dsrimpcc.o dsrc3dcc.o dsrrrdcc.o + dsrimpcc.o dsrc3dcc.o dsrrrdcc.o dsracqcc.o library = libdcmsr.$(LIBEXT) diff --git a/dcmsr/libsrc/dsracqcc.cc b/dcmsr/libsrc/dsracqcc.cc new file mode 100644 index 00000000..ecd215f4 --- /dev/null +++ b/dcmsr/libsrc/dsracqcc.cc @@ -0,0 +1,109 @@ +/* + * + * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * All rights reserved. See COPYRIGHT file for details. + * + * This software and supporting documentation are maintained by + * + * OFFIS e.V. + * R&D Division Health + * Escherweg 2 + * D-26121 Oldenburg, Germany + * + * + * Module: dcmsr + * + * Author: Joerg Riesmeier + * + * Purpose: + * classes: DSRAcquisitionContextConstraintChecker + * + */ + + +#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ + +#include "dcmtk/dcmsr/dsracqcc.h" + + +DSRAcquisitionContextConstraintChecker::DSRAcquisitionContextConstraintChecker() + : DSRIODConstraintChecker() +{ +} + + +DSRAcquisitionContextConstraintChecker::~DSRAcquisitionContextConstraintChecker() +{ +} + + +OFBool DSRAcquisitionContextConstraintChecker::isByReferenceAllowed() const +{ + return OFFalse; +} + + +OFBool DSRAcquisitionContextConstraintChecker::isTemplateSupportRequired() const +{ + return OFFalse; +} + + +OFCondition DSRAcquisitionContextConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const +{ + templateIdentifier.clear(); + mappingResource.clear(); + return EC_Normal; +} + + +DSRTypes::E_DocumentType DSRAcquisitionContextConstraintChecker::getDocumentType() const +{ + return DT_AcquisitionContextSR; +} + + +OFBool DSRAcquisitionContextConstraintChecker::checkContentRelationship(const E_ValueType sourceValueType, + const E_RelationshipType relationshipType, + const E_ValueType targetValueType, + const OFBool byReference) const +{ + /* the following code implements the constraints of table A.35.x-2 in DICOM PS3.3 (Supplement 187) */ + OFBool result = OFFalse; + /* by-reference relationships not allowed at all */ + if (!byReference) + { + /* row 1 of the table */ + if ((relationshipType == RT_contains) && (sourceValueType == VT_Container)) + { + result = (targetValueType == VT_Code) || (targetValueType == VT_Container) || (targetValueType == VT_DateTime) || + (targetValueType == VT_Num) || (targetValueType == VT_PName) || (targetValueType == VT_Text) || + (targetValueType == VT_Time) || (targetValueType == VT_UIDRef); + } + /* row 2 of the table */ + else if ((relationshipType == RT_hasObsContext) && ((sourceValueType == VT_Container))) + { + result = (targetValueType == VT_Code) || (targetValueType == VT_Date) || (targetValueType == VT_DateTime) || + (targetValueType == VT_Num) || (targetValueType == VT_PName) || (targetValueType == VT_Text) || + (targetValueType == VT_Time) || (targetValueType == VT_UIDRef); + } + /* row 3 of the table */ + else if ((relationshipType == RT_hasObsContext) && (sourceValueType == VT_Code)) + { + result = (targetValueType == VT_Code); + } + /* row 4 of the table */ + else if (relationshipType == RT_hasConceptMod) + { + result = (targetValueType == VT_Code) || (targetValueType == VT_Text); + } + /* row 5 of the table */ + else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_Code)) + { + result = (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || (targetValueType == VT_Num) || + (targetValueType == VT_SCoord3D) || (targetValueType == VT_Text); + } + } + return result; +} diff --git a/dcmsr/libsrc/dsrbascc.cc b/dcmsr/libsrc/dsrbascc.cc index ed0d1c73..cc2db99c 100644 --- a/dcmsr/libsrc/dsrbascc.cc +++ b/dcmsr/libsrc/dsrbascc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,9 +49,12 @@ OFBool DSRBasicTextSRConstraintChecker::isTemplateSupportRequired() const } -const char *DSRBasicTextSRConstraintChecker::getRootTemplateIdentifier() const +OFCondition DSRBasicTextSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const { - return NULL; + templateIdentifier.clear(); + mappingResource.clear(); + return EC_Normal; } @@ -107,7 +110,7 @@ OFBool DSRBasicTextSRConstraintChecker::checkContentRelationship(const E_ValueTy (targetValueType == VT_PName) || (targetValueType == VT_Image) || (targetValueType == VT_Waveform) || (targetValueType == VT_Composite); } - /* row 6 of the table - introduced with CP 1076 */ + /* row 6 of the table - introduced with CP-1076 */ else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName)) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || diff --git a/dcmsr/libsrc/dsrc3dcc.cc b/dcmsr/libsrc/dsrc3dcc.cc index 967cd622..a48709e9 100644 --- a/dcmsr/libsrc/dsrc3dcc.cc +++ b/dcmsr/libsrc/dsrc3dcc.cc @@ -49,9 +49,12 @@ OFBool DSRComprehensive3DSRConstraintChecker::isTemplateSupportRequired() const } -const char *DSRComprehensive3DSRConstraintChecker::getRootTemplateIdentifier() const +OFCondition DSRComprehensive3DSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const { - return NULL; + templateIdentifier.clear(); + mappingResource.clear(); + return EC_Normal; } @@ -66,7 +69,7 @@ OFBool DSRComprehensive3DSRConstraintChecker::checkContentRelationship(const E_V const E_ValueType targetValueType, const OFBool byReference) const { - /* the following code implements the contraints of table A.35.X-2 in DICOM PS3.3 (Supplement 162) */ + /* the following code implements the constraints of table A.35.13-2 in DICOM PS3.3 */ OFBool result = OFFalse; /* row 1 of the table */ if ((relationshipType == RT_contains) && (sourceValueType == VT_Container)) diff --git a/dcmsr/libsrc/dsrchecc.cc b/dcmsr/libsrc/dsrchecc.cc index b348fcfb..5a095cb3 100644 --- a/dcmsr/libsrc/dsrchecc.cc +++ b/dcmsr/libsrc/dsrchecc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,9 +49,12 @@ OFBool DSRChestCadSRConstraintChecker::isTemplateSupportRequired() const } -const char *DSRChestCadSRConstraintChecker::getRootTemplateIdentifier() const +OFCondition DSRChestCadSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const { - return "4100"; + templateIdentifier = "4100"; + mappingResource = "DCMR"; + return EC_Normal; } diff --git a/dcmsr/libsrc/dsrcodvl.cc b/dcmsr/libsrc/dsrcodvl.cc index b0bc4889..bb0171af 100644 --- a/dcmsr/libsrc/dsrcodvl.cc +++ b/dcmsr/libsrc/dsrcodvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -188,6 +188,15 @@ OFBool DSRCodedEntryValue::operator==(const DSRCodedEntryValue &codedEntryValue) } +OFBool DSRCodedEntryValue::operator!=(const DSRCodedEntryValue &codedEntryValue) const +{ + /* Code Meaning is not used for comparing the two codes */ + return (CodeValue != codedEntryValue.CodeValue) || + (CodingSchemeDesignator != codedEntryValue.CodingSchemeDesignator) || + (CodingSchemeVersion != codedEntryValue.CodingSchemeVersion); +} + + OFBool DSRCodedEntryValue::operator==(const DSRBasicCodedEntry &basicCodedEntry) const { /* Code Meaning is not used for comparing the two codes */ @@ -197,6 +206,15 @@ OFBool DSRCodedEntryValue::operator==(const DSRBasicCodedEntry &basicCodedEntry) } +OFBool DSRCodedEntryValue::operator!=(const DSRBasicCodedEntry &basicCodedEntry) const +{ + /* Code Meaning is not used for comparing the two codes */ + return (CodeValue != basicCodedEntry.CodeValue) || + (CodingSchemeDesignator != basicCodedEntry.CodingSchemeDesignator) || + (CodingSchemeVersion != basicCodedEntry.CodingSchemeVersion); +} + + void DSRCodedEntryValue::clear() { CodeValueType = DSRTypes::CVT_auto; @@ -225,6 +243,12 @@ OFBool DSRCodedEntryValue::isEmpty() const } +OFBool DSRCodedEntryValue::isComplete() const +{ + return !CodeValue.empty() && !CodingSchemeDesignator.empty() && !CodeMeaning.empty(); +} + + void DSRCodedEntryValue::print(STD_NAMESPACE ostream &stream, const OFBool printCodeValue, const size_t flags) const @@ -284,8 +308,8 @@ OFCondition DSRCodedEntryValue::readItem(DcmItem &dataset, /* check for a common error: Context Group Identifier includes "CID" prefix */ if ((ContextIdentifier.find_first_not_of("0123456789") != OFString_npos) || (ContextIdentifier.at(0) == '0')) { - DCMSR_DEBUG("Reading invalid ContextIdentifier (" << ContextIdentifier << ")"); - DCMSR_WARN("ContextIdentifier shall be a string of digits without leading zeros"); + DCMSR_DEBUG("Reading invalid Context Identifier (" << ContextIdentifier << ")"); + DCMSR_WARN("Context Identifier shall be a string of digits without leading zeros"); } DSRTypes::getAndCheckStringValueFromDataset(dataset, DCM_MappingResource, MappingResource, "1", "1" /* was 1C */, moduleName); DSRTypes::getAndCheckStringValueFromDataset(dataset, DCM_ContextGroupVersion, ContextGroupVersion, "1", "1" /* was 1C */, moduleName); @@ -769,3 +793,13 @@ DSRTypes::E_CodeValueType DSRCodedEntryValue::determineCodeValueType(const OFStr codeValueType = DSRTypes::CVT_Short; return codeValueType; } + + +// output operators + +STD_NAMESPACE ostream &operator<<(STD_NAMESPACE ostream &stream, + const DSRCodedEntryValue& codedEntryValue) +{ + codedEntryValue.print(stream, OFTrue /*printCodeValue*/, 0 /*flags*/); + return stream; +} diff --git a/dcmsr/libsrc/dsrcolcc.cc b/dcmsr/libsrc/dsrcolcc.cc index cd663034..c45fbe67 100644 --- a/dcmsr/libsrc/dsrcolcc.cc +++ b/dcmsr/libsrc/dsrcolcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2010-2014, OFFIS e.V. + * Copyright (C) 2010-2015, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,9 +49,12 @@ OFBool DSRColonCadSRConstraintChecker::isTemplateSupportRequired() const } -const char *DSRColonCadSRConstraintChecker::getRootTemplateIdentifier() const +OFCondition DSRColonCadSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const { - return "4120"; + templateIdentifier = "4120"; + mappingResource = "DCMR"; + return EC_Normal; } diff --git a/dcmsr/libsrc/dsrcomcc.cc b/dcmsr/libsrc/dsrcomcc.cc index cb5614b4..cd04e1d9 100644 --- a/dcmsr/libsrc/dsrcomcc.cc +++ b/dcmsr/libsrc/dsrcomcc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2014, OFFIS e.V. + * Copyright (C) 2003-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -49,9 +49,12 @@ OFBool DSRComprehensiveSRConstraintChecker::isTemplateSupportRequired() const } -const char *DSRComprehensiveSRConstraintChecker::getRootTemplateIdentifier() const +OFCondition DSRComprehensiveSRConstraintChecker::getRootTemplateIdentification(OFString &templateIdentifier, + OFString &mappingResource) const { - return NULL; + templateIdentifier.clear(); + mappingResource.clear(); + return EC_Normal; } @@ -66,7 +69,7 @@ OFBool DSRComprehensiveSRConstraintChecker::checkContentRelationship(const E_Val const E_ValueType targetValueType, const OFBool byReference) const { - /* the following code implements the contraints of table A.35.3-2 in DICOM PS3.3 */ + /* the following code implements the constraints of table A.35.3-2 in DICOM PS3.3 */ OFBool result = OFFalse; /* row 1 of the table */ if ((relationshipType == RT_contains) && (sourceValueType == VT_Container)) @@ -108,7 +111,7 @@ OFBool DSRComprehensiveSRConstraintChecker::checkContentRelationship(const E_Val (targetValueType == VT_Waveform) || (targetValueType == VT_Composite) || (targetValueType == VT_SCoord) || (targetValueType == VT_TCoord) || (targetValueType == VT_Container); } - /* row 6 of the table - introduced with CP 1076 */ + /* row 6 of the table - introduced with CP-1076 */ else if ((relationshipType == RT_hasProperties) && (sourceValueType == VT_PName)) { result = (targetValueType == VT_Text) || (targetValueType == VT_Code) || (targetValueType == VT_DateTime) || diff --git a/dcmsr/libsrc/dsrcomvl.cc b/dcmsr/libsrc/dsrcomvl.cc index d268d6bc..e03a84f3 100644 --- a/dcmsr/libsrc/dsrcomvl.cc +++ b/dcmsr/libsrc/dsrcomvl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -87,6 +87,12 @@ OFBool DSRCompositeReferenceValue::isEmpty() const } +OFBool DSRCompositeReferenceValue::isComplete() const +{ + return !SOPClassUID.empty() && !SOPInstanceUID.empty(); +} + + OFCondition DSRCompositeReferenceValue::print(STD_NAMESPACE ostream &stream, const size_t flags) const { @@ -232,6 +238,13 @@ OFCondition DSRCompositeReferenceValue::renderHTML(STD_NAMESPACE ostream &docStr } +const OFString DSRCompositeReferenceValue::getSOPClassName(const OFString &defaultName) const +{ + /* lookup name associated with the SOP class UID */ + return SOPClassUID.empty() ? "" : dcmFindNameOfUID(SOPClassUID.c_str(), defaultName.c_str()); +} + + OFCondition DSRCompositeReferenceValue::getValue(DSRCompositeReferenceValue &referenceValue) const { referenceValue = *this; diff --git a/dcmsr/libsrc/dsrcsidl.cc b/dcmsr/libsrc/dsrcsidl.cc index 1d6ee71e..8f6f6630 100644 --- a/dcmsr/libsrc/dsrcsidl.cc +++ b/dcmsr/libsrc/dsrcsidl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2003-2015, OFFIS e.V. + * Copyright (C) 2003-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -133,7 +133,7 @@ OFCondition DSRCodingSchemeIdentificationList::write(DcmItem &dataset) const putStringValueToDataset(*ditem, DCM_CodingSchemeExternalID, item->CodingSchemeExternalID, OFFalse /*allowEmpty*/); else if (!item->CodingSchemeExternalID.empty()) { - DCMSR_WARN("Both CodingSchemeUID and CodingSchemeExternalID present for \"" + DCMSR_WARN("Both Coding Scheme UID and Coding Scheme External ID present for \"" << item->CodingSchemeDesignator << "\", the latter will be ignored"); } putStringValueToDataset(*ditem, DCM_CodingSchemeName, item->CodingSchemeName, OFFalse /*allowEmpty*/); @@ -251,8 +251,8 @@ OFCondition DSRCodingSchemeIdentificationList::addItem(const OFString &codingSch result = EC_MemoryExhausted; } } else { - DCMSR_WARN("CodingSchemeDesignator \"" << codingSchemeDesignator - << "\" already exists in CodingSchemeIdentificationSequence ... overwriting"); + DCMSR_WARN("Coding Scheme Designator \"" << codingSchemeDesignator + << "\" already exists in Coding Scheme Identification Sequence ... overwriting"); /* gotoItem() was successful, set item pointer */ item = *Iterator; } diff --git a/dcmsr/libsrc/dsrctpl.cc b/dcmsr/libsrc/dsrctpl.cc index bc2aa90e..95653f24 100644 --- a/dcmsr/libsrc/dsrctpl.cc +++ b/dcmsr/libsrc/dsrctpl.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -45,6 +45,12 @@ DSRTemplateCommon::~DSRTemplateCommon() } +void DSRTemplateCommon::clear() +{ + clearEntriesInNodeList(); +} + + OFBool DSRTemplateCommon::hasTemplateIdentification() const { /* mapping resource UID is optional, so do not check it */ @@ -77,11 +83,40 @@ OFBool DSRTemplateCommon::isTemplateIdentificationValid(const OFBool check) cons } +OFBool DSRTemplateCommon::compareTemplateIdentication(const OFString &templateIdentifier, + const OFString &mappingResource, + const OFString &mappingResourceUID) const +{ + OFBool result = (TemplateIdentifier == templateIdentifier) && (MappingResource == mappingResource); + /* mapping resource UID is optional, so only check it if present */ + if (result && !MappingResourceUID.empty() && !mappingResourceUID.empty()) + result = (MappingResourceUID == mappingResourceUID); + return result; +} + + // protected methods -void DSRTemplateCommon::reserveEntriesInNodeList(const size_t count) +void DSRTemplateCommon::clearEntriesInNodeList() { - NodeList.reserve(count); + /* set all entries to 0 */ + for (size_t i = 0; i < NodeList.size(); ++i) + NodeList[i] = 0; +} + + +void DSRTemplateCommon::reserveEntriesInNodeList(const size_t count, + const OFBool initialize) +{ + /* check whether the entries should be initialized... */ + if (initialize) + { + NodeList.resize(count); + clearEntriesInNodeList(); + } else { + /* ... or only reserved (not created and initialized) */ + NodeList.reserve(count); + } } @@ -105,6 +140,22 @@ size_t DSRTemplateCommon::getEntryFromNodeList(const size_t pos) const } +size_t DSRTemplateCommon::gotoEntryFromNodeList(DSRDocumentTreeNodeCursor &cursor, + const size_t pos) const +{ + size_t nodeID = 0; + /* make sure that cursor is valid and list entry exists */ + if ((cursor.isValid()) && (pos < NodeList.size())) + { + nodeID = NodeList[pos]; + /* check whether current node is already the right one */ + if (cursor.getNodeID() != nodeID) + nodeID = cursor.gotoNode(nodeID); + } + return nodeID; +} + + size_t DSRTemplateCommon::gotoEntryFromNodeList(DSRDocumentSubTree *tree, const size_t pos) { @@ -122,14 +173,15 @@ size_t DSRTemplateCommon::gotoEntryFromNodeList(DSRDocumentSubTree *tree, size_t DSRTemplateCommon::gotoLastEntryFromNodeList(DSRDocumentSubTree *tree, - const size_t lastPos) + const size_t lastPos, + const size_t firstPos) { size_t nodeID = 0; /* make sure that tree is valid and list entry exists */ - if ((tree != NULL) && (lastPos < NodeList.size())) + if ((tree != NULL) && (firstPos <= lastPos) && (lastPos < NodeList.size())) { size_t pos = lastPos + 1; - while ((pos > 0) && (nodeID == 0)) + while ((pos > firstPos) && (nodeID == 0)) nodeID = NodeList[--pos]; /* check whether current node is already the right one */ if (tree->getNodeID() != nodeID) diff --git a/dcmsr/libsrc/dsrctxgr.cc b/dcmsr/libsrc/dsrctxgr.cc index 4f6203f8..f9585b1d 100644 --- a/dcmsr/libsrc/dsrctxgr.cc +++ b/dcmsr/libsrc/dsrctxgr.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2015, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by @@ -87,6 +87,12 @@ OFCondition DSRContextGroup::findCodedEntry(const DSRCodedEntryValue &codedEntry } +OFBool DSRContextGroup::hasExtendedCodedEntries() const +{ + return !ExtendedCodes.empty(); +} + + OFCondition DSRContextGroup::addCodedEntry(const DSRCodedEntryValue &codedEntryValue) { OFCondition result = EC_Normal; diff --git a/dcmsr/libsrc/dsrdoc.cc b/dcmsr/libsrc/dsrdoc.cc index 6c425c22..2ac6597d 100644 --- a/dcmsr/libsrc/dsrdoc.cc +++ b/dcmsr/libsrc/dsrdoc.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -440,9 +440,7 @@ OFCondition DSRDocument::read(DcmItem &dataset, getElementFromDataset(dataset, SOPClassUID); /* already checked */ getAndCheckElementFromDataset(dataset, SOPInstanceUID, "1", "1", "SOPCommonModule"); getAndCheckElementFromDataset(dataset, SpecificCharacterSet, "1-n", "1C", "SOPCommonModule"); - if (SpecificCharacterSet.getVM() > 1) - DCMSR_WARN("Multiple values for Specific Character Set are not supported"); - getStringValueFromElement(SpecificCharacterSet, tmpString); + getStringValueFromElement(SpecificCharacterSet, tmpString, -1 /* all components */); /* currently, the VR checker in 'dcmdata' only supports ASCII and Latin-1 */ if (!tmpString.empty() && (tmpString != "ISO_IR 6") && (tmpString != "ISO_IR 100")) DCMSR_WARN("The VR checker does not support this Specific Character Set: " << tmpString); @@ -515,7 +513,7 @@ OFCondition DSRDocument::read(DcmItem &dataset, PredecessorDocuments.read(dataset, flags); /* need to check sequence in two steps (avoids additional getAndCheck... method) */ searchCond = getElementFromDataset(dataset, PerformedProcedureCode); - checkElementValue(PerformedProcedureCode, "1", "2", searchCond, "SRDocumentGeneralModule"); + checkElementValue(PerformedProcedureCode, "1-n", "2", searchCond, "SRDocumentGeneralModule"); PertinentOtherEvidence.read(dataset, flags); ReferencedInstances.read(dataset, flags); } @@ -544,7 +542,7 @@ OFCondition DSRDocument::read(DcmItem &dataset, if (CompletionFlagEnum == CF_invalid) printUnknownValueWarningMessage("CompletionFlag", tmpString.c_str()); else if ((CompletionFlagEnum == CF_Partial) && (documentType == DT_XRayRadiationDoseSR)) - DCMSR_WARN("Invalid value for CompletionFlag, should be 'COMPLETE' for X-Ray Radiation Dose SR"); + DCMSR_WARN("Invalid value for Completion Flag, should be 'COMPLETE' for X-Ray Radiation Dose SR"); /* get and check VerificationFlag / VerifyingObserverSequence */ VerificationFlagEnum = enumeratedValueToVerificationFlag(getStringValueFromElement(VerificationFlag, tmpString)); if (VerificationFlagEnum == VF_invalid) @@ -552,7 +550,8 @@ OFCondition DSRDocument::read(DcmItem &dataset, else if (VerificationFlagEnum == VF_Verified) checkElementValue(VerifyingObserver, "1-n", "1", obsSearchCond, "SRDocumentGeneralModule"); } - SpecificCharacterSetEnum = definedTermToCharacterSet(getStringValueFromElement(SpecificCharacterSet, tmpString)); + getStringValueFromElement(SpecificCharacterSet, tmpString, -1 /* all components */); + SpecificCharacterSetEnum = definedTermToCharacterSet(tmpString); /* check SpecificCharacterSet */ if ((SpecificCharacterSetEnum == CS_invalid) && !tmpString.empty()) printUnknownValueWarningMessage("SpecificCharacterSet", tmpString.c_str()); @@ -606,7 +605,7 @@ OFCondition DSRDocument::write(DcmItem &dataset, /* checking particular values */ if ((CompletionFlagEnum == CF_Partial) && (getDocumentType() == DT_XRayRadiationDoseSR)) - DCMSR_WARN("Invalid value for CompletionFlag, should be 'COMPLETE' for X-Ray Radiation Dose SR"); + DCMSR_WARN("Invalid value for Completion Flag, should be 'COMPLETE' for X-Ray Radiation Dose SR"); /* write general document attributes */ @@ -695,7 +694,7 @@ OFCondition DSRDocument::write(DcmItem &dataset, PredecessorDocuments.write(dataset); /* optional */ /* always write empty sequence since not yet fully supported */ PerformedProcedureCode.clear(); - addElementToDataset(result, dataset, new DcmSequenceOfItems(PerformedProcedureCode), "1", "2", "SRDocumentGeneralModule"); + addElementToDataset(result, dataset, new DcmSequenceOfItems(PerformedProcedureCode), "1-n", "2", "SRDocumentGeneralModule"); if (result.good()) result = PertinentOtherEvidence.write(dataset); if (result.good()) @@ -1192,13 +1191,10 @@ OFCondition DSRDocument::writeXML(STD_NAMESPACE ostream &stream, stream << "" << OFendl; stream << "::isValid(); +} + + OFBool DSRDocumentSubTree::isValidDocumentTree(const E_RelationshipType defaultRelType) const { OFBool result = OFFalse; @@ -119,6 +130,21 @@ OFBool DSRDocumentSubTree::isValidDocumentTree(const E_RelationshipType defaultR } +OFBool DSRDocumentSubTree::isExpandedDocumentTree() const +{ + OFBool result = OFTrue; + DSRDocumentTreeNodeCursor cursor(getRoot()); + if (cursor.isValid()) + { + /* search for a single INCLUDE template node */ + do { + result = (cursor.getNode()->getValueType() != VT_includedTemplate); + } while (result && cursor.iterate()); + } + return result; +} + + OFBool DSRDocumentSubTree::hasTemplateIdentification() const { OFBool result = OFFalse; @@ -147,10 +173,12 @@ OFBool DSRDocumentSubTree::canUseTemplateIdentification() const OFCondition DSRDocumentSubTree::print(STD_NAMESPACE ostream &stream, - const size_t flags) + const size_t flags, + DSRPositionCounter *posCounter) { OFCondition result = EC_Normal; - DSRDocumentTreeNodeCursor cursor(getRoot()); + /* initialize cursor with root node (and optional position counter) */ + DSRDocumentTreeNodeCursor cursor(getRoot(), posCounter); if (cursor.isValid()) { /* check and update by-reference relationships (if applicable) */ @@ -158,12 +186,12 @@ OFCondition DSRDocumentSubTree::print(STD_NAMESPACE ostream &stream, /* update the document tree for output (if needed) */ updateTreeForOutput(); OFString tmpString; - size_t level = 0; - const DSRDocumentTreeNode *node = NULL; + DSRDocumentTreeNode *node; /* iterate over all nodes */ do { node = cursor.getNode(); - if (node != NULL) + /* check whether to print node ID, position, indentation at all */ + if ((node->getValueType() != VT_includedTemplate) || !(flags & PF_hideIncludedTemplateNodes)) { /* print node ID (might be useful for debugging purposes) */ if (flags & PF_printNodeID) @@ -175,51 +203,83 @@ OFCondition DSRDocumentSubTree::print(STD_NAMESPACE ostream &stream, stream << cursor.getPosition(tmpString) << " "; } else { /* use line indentation */ - level = cursor.getLevel(); + const size_t level = cursor.getPositionCounter().getLevel(); if (level > 0) // valid ? stream << OFString((level - 1) * 2, ' '); } + } + /* special handling for included templates */ + if (node->getValueType() == VT_includedTemplate) + { + /* print separate line for internal template node (if requested) */ + if (!(flags & PF_hideIncludedTemplateNodes)) + { + DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER) + /* print content of template node */ + node->print(stream, flags); + DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_RESET) + stream << OFendl; + } + /* print content of included template (subtree) */ + if (node->hasValidValue()) + { + DSRSubTemplate *subTempl = OFstatic_cast(DSRIncludedTemplateTreeNode *, node)->getValue().get(); + /* further indent included subtree */ + if (!(flags & PF_hideIncludedTemplateNodes)) + cursor.getPositionCounter().goDown(); + /* only print non-empty template (subtree) */ + if (!subTempl->isEmpty()) + result = subTempl->print(stream, flags, &cursor.getPositionCounter()); + /* make sure that empty templates are not counted */ + else if (flags & PF_hideIncludedTemplateNodes) + --cursor.getPositionCounter(); + /* reset indentation of included subtree */ + if (!(flags & PF_hideIncludedTemplateNodes)) + cursor.getPositionCounter().goUp(); + } + } else { /* print node content */ DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER) stream << "<"; result = node->print(stream, flags); DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER) stream << ">"; - /* print observation date/time (optional) */ - if (!node->getObservationDateTime().empty()) - { - stream << " {" << dicomToReadableDateTime(node->getObservationDateTime(), tmpString) << "}"; - } - /* print annotation (optional) */ - if (node->hasAnnotation() && (flags & PF_printAnnotation)) - { - DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_ANNOTATION) - stream << " \"" << node->getAnnotation().getText() << "\""; - } - /* print template identification (conditional) */ - if (node->hasTemplateIdentification() && (flags & PF_printTemplateIdentification)) - { - OFString templateIdentifier; - OFString mappingResource; - OFString mappingResourceUID; - if (node->getTemplateIdentification(templateIdentifier, mappingResource, mappingResourceUID).good()) - { - DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER) - stream << " # "; - DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_TEMPLATE_ID) - stream << "TID " << templateIdentifier; - stream << " (" << mappingResource; - if (!mappingResourceUID.empty()) - stream << ", " << mappingResourceUID; - stream << ")"; - } - } + /* print extended information on the node */ + if (result.good()) + result = node->printExtended(stream, flags); DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_RESET) stream << OFendl; - } else - result = SR_EC_InvalidDocumentTree; + } } while (result.good() && cursor.iterate()); } + /* store and return current value of position counter (if needed) */ + if (posCounter != NULL) + *posCounter = cursor.getPositionCounter(); + return result; +} + + +OFCondition DSRDocumentSubTree::writeXML(STD_NAMESPACE ostream &stream, + const size_t flags) +{ + OFCondition result = SR_EC_InvalidDocumentTree; + /* check whether document tree is valid */ + if (isValid()) + { + DSRDocumentTreeNodeCursor cursor(getRoot()); + /* start writing from root node */ + if (cursor.isValid()) + { + /* check by-reference relationships (if applicable) */ + checkByReferenceRelationships(CM_resetReferenceTargetFlag); + /* update the document tree for output (if needed) */ + updateTreeForOutput(); + /* write current node (and its siblings) */ + do { + result = cursor.getNode()->writeXML(stream, flags); + } while (result.good() && cursor.gotoNext()); + } + } return result; } @@ -231,6 +291,44 @@ DSRContentItem &DSRDocumentSubTree::getCurrentContentItem() } +size_t DSRDocumentSubTree::countNodes(const OFBool searchIntoSubTemplates, + const OFBool countIncludedTemplateNodes) const +{ + size_t count = 0; + /* check whether special handling of included templates is needed */ + if (searchIntoSubTemplates || !countIncludedTemplateNodes) + { + DSRDocumentTreeNodeCursor cursor(getRoot()); + if (cursor.isValid()) + { + /* iterate over all nodes */ + do { + if (cursor.getNode()->getValueType() == VT_includedTemplate) + { + /* special handling: count nodes of included subtree */ + if (searchIntoSubTemplates) + { + const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, cursor.getNode())->getValue().get(); + if (subTempl != NULL) + count += subTempl->countNodes(searchIntoSubTemplates, countIncludedTemplateNodes); + } + /* also need to count "included template" node */ + if (countIncludedTemplateNodes) + ++count; + } else { + /* standard case */ + ++count; + } + } while (cursor.iterate()); + } + } else { + /* call the inherited function */ + count = DSRTree::countNodes(); + } + return count; +} + + size_t DSRDocumentSubTree::gotoNamedNode(const DSRCodedEntryValue &conceptName, const OFBool startFromRoot, const OFBool searchIntoSub) @@ -240,7 +338,7 @@ size_t DSRDocumentSubTree::gotoNamedNode(const DSRCodedEntryValue &conceptName, { if (startFromRoot) gotoRoot(); - const DSRDocumentTreeNode *node = NULL; + const DSRDocumentTreeNode *node; /* iterate over all nodes */ do { node = getNode(); @@ -252,6 +350,17 @@ size_t DSRDocumentSubTree::gotoNamedNode(const DSRCodedEntryValue &conceptName, } +size_t DSRDocumentSubTree::gotoNamedChildNode(const DSRCodedEntryValue &conceptName, + const OFBool searchIntoSub) +{ + /* first, goto child node */ + size_t nodeID = gotoChild(); + if (nodeID > 0) + nodeID = gotoNamedNode(conceptName, OFFalse /*startFromRoot*/, searchIntoSub); + return nodeID; +} + + size_t DSRDocumentSubTree::gotoNextNamedNode(const DSRCodedEntryValue &conceptName, const OFBool searchIntoSub) { @@ -283,36 +392,40 @@ size_t DSRDocumentSubTree::gotoNextAnnotatedNode(const OFString &annotationText) OFBool DSRDocumentSubTree::canAddContentItem(const E_RelationshipType relationshipType, const E_ValueType valueType, - const E_AddMode addMode) + const E_AddMode addMode) const { OFBool result = OFFalse; /* never accept invalid types */ if ((relationshipType != RT_invalid) && (valueType != VT_invalid)) { - const DSRDocumentTreeNode *node = getNode(); - if (node != NULL) + /* also do not accept internal types */ + if ((valueType != VT_byReference) && (valueType != VT_includedTemplate)) { - /* do we have an IOD constraint checker? */ - if (ConstraintChecker != NULL) + const DSRDocumentTreeNode *node = getNode(); + if (node != NULL) { - if ((addMode == AM_beforeCurrent) || (addMode == AM_afterCurrent)) + /* do we have an IOD constraint checker? */ + if (ConstraintChecker != NULL) { - /* check parent node */ - node = getParentNode(); - if (node != NULL) + if ((addMode == AM_beforeCurrent) || (addMode == AM_afterCurrent)) + { + /* check parent node */ + node = getParentNode(); + if (node != NULL) + result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, valueType); + } else result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, valueType); - } else - result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, valueType); - } - /* a root node can only be added to an empty tree */ - else if (relationshipType != RT_isRoot) - { - /* "unknown" relationships are only allowed on top-level */ - result = (!hasParentNode() && (addMode != AM_belowCurrent)) || (relationshipType != RT_unknown); + } + /* a root node can only be added to an empty tree */ + else if (relationshipType != RT_isRoot) + { + /* "unknown" relationships are only allowed on top-level */ + result = (!hasParentNode() && (addMode != AM_belowCurrent)) || (relationshipType != RT_unknown); + } + } else { + /* no special rules for root node (at least in a subtree) */ + result = OFTrue; } - } else { - /* no special rules for root node (at least in a subtree) */ - result = OFTrue; } } return result; @@ -320,7 +433,7 @@ OFBool DSRDocumentSubTree::canAddContentItem(const E_RelationshipType relationsh OFBool DSRDocumentSubTree::canAddByReferenceRelationship(const E_RelationshipType relationshipType, - const E_ValueType targetValueType) + const E_ValueType targetValueType) const { OFBool result = OFFalse; /* never accept invalid types */ @@ -334,7 +447,7 @@ OFBool DSRDocumentSubTree::canAddByReferenceRelationship(const E_RelationshipTyp result = ConstraintChecker->checkContentRelationship(node->getValueType(), relationshipType, targetValueType, OFTrue /*byReference*/); } else { /* certain relationships are never allowed */ - result = (relationshipType != RT_isRoot) && (relationshipType != RT_unknown); + result = (relationshipType != RT_isRoot) && (relationshipType != RT_unknown) && (targetValueType != VT_includedTemplate); } } return result; @@ -395,7 +508,8 @@ OFCondition DSRDocumentSubTree::addContentItem(DSRDocumentTreeNode *node, OFCondition DSRDocumentSubTree::addContentItem(const E_RelationshipType relationshipType, const E_ValueType valueType, - const DSRCodedEntryValue &conceptName) + const DSRCodedEntryValue &conceptName, + const OFBool check) { OFCondition result = EC_Normal; /* call the functions doing the real work */ @@ -404,7 +518,7 @@ OFCondition DSRDocumentSubTree::addContentItem(const E_RelationshipType relation if (!conceptName.isEmpty()) { /* use a more appropriate error code than the one returned */ - if (getCurrentContentItem().setConceptName(conceptName).bad()) + if (getCurrentContentItem().setConceptName(conceptName, check).bad()) result = SR_EC_InvalidConceptName; } } else @@ -415,7 +529,8 @@ OFCondition DSRDocumentSubTree::addContentItem(const E_RelationshipType relation OFCondition DSRDocumentSubTree::addChildContentItem(const E_RelationshipType relationshipType, const E_ValueType valueType, - const DSRCodedEntryValue &conceptName) + const DSRCodedEntryValue &conceptName, + const OFBool check) { OFCondition result = EC_Normal; /* call the functions doing the real work */ @@ -424,7 +539,7 @@ OFCondition DSRDocumentSubTree::addChildContentItem(const E_RelationshipType rel if (!conceptName.isEmpty()) { /* use a more appropriate error code than the one returned */ - if (getCurrentContentItem().setConceptName(conceptName).bad()) + if (getCurrentContentItem().setConceptName(conceptName, check).bad()) result = SR_EC_InvalidConceptName; } } else @@ -444,7 +559,7 @@ size_t DSRDocumentSubTree::addByReferenceRelationship(const E_RelationshipType r if (cursor.isValid()) { /* goto specified target node (might be improved later on) */ - if (cursor.gotoNode(referencedNodeID)) + if (cursor.gotoNode(referencedNodeID) > 0) { OFString sourceString; OFString targetString; @@ -454,29 +569,33 @@ size_t DSRDocumentSubTree::addByReferenceRelationship(const E_RelationshipType r if (sourceString.substr(0, targetString.length()) != targetString) { const DSRDocumentTreeNode *targetNode = cursor.getNode(); - if (targetNode != NULL) + const E_ValueType targetValueType = targetNode->getValueType(); + /* check whether relationship is valid/allowed */ + if (canAddByReferenceRelationship(relationshipType, targetValueType)) { - const E_ValueType targetValueType = targetNode->getValueType(); - /* check whether relationship is valid/allowed */ - if (canAddByReferenceRelationship(relationshipType, targetValueType)) + DSRDocumentTreeNode *node = new DSRByReferenceTreeNode(relationshipType, referencedNodeID, targetValueType); + if (node != NULL) { - DSRDocumentTreeNode *node = new DSRByReferenceTreeNode(relationshipType, referencedNodeID, targetValueType); - if (node != NULL) + nodeID = addNode(node, AM_belowCurrent); + /* in case of error, free allocated memory */ + if (nodeID == 0) { - nodeID = addNode(node, AM_belowCurrent); - /* in case of error, free allocated memory */ - if (nodeID == 0) - { - delete node; - node = NULL; - } else { - /* otherwise, go back to current node */ - goUp(); - } + delete node; + node = NULL; + } else { + /* otherwise, go back to current node */ + goUp(); } } } + } else { + /* report a warning with some details to the debug logger */ + DCMSR_DEBUG("Invalid by-reference relationship from content item \"" + << sourceString << "\" to \"" << targetString << "\" (loop check)"); } + } else { + /* report a warning with some details to the debug logger */ + DCMSR_DEBUG("Target content item of by-reference relationship does not exist"); } } } @@ -484,15 +603,21 @@ size_t DSRDocumentSubTree::addByReferenceRelationship(const E_RelationshipType r } -OFBool DSRDocumentSubTree::canInsertSubTree(DSRDocumentSubTree *tree, +OFCondition DSRDocumentSubTree::updateByReferenceRelationships() +{ + /* update the position strings of by-reference relationships */ + return checkByReferenceRelationships(CM_updatePositionString); +} + + +OFBool DSRDocumentSubTree::canInsertSubTree(const DSRDocumentSubTree *tree, const E_AddMode addMode, - const E_RelationshipType defaultRelType) + const E_RelationshipType defaultRelType) const { OFBool result = OFFalse; if (tree != NULL) { - const DSRDocumentTreeNode *currentNode = getNode(); - if (currentNode != NULL) + if (getNode() != NULL) { /* check whether the top-level nodes of the subtree can be added */ DSRDocumentTreeNodeCursor cursor(tree->getRoot()); @@ -634,6 +759,48 @@ DSRDocumentSubTree *DSRDocumentSubTree::cloneSubTree(const size_t stopAfterNodeI } +OFCondition DSRDocumentSubTree::createExpandedSubTree(DSRDocumentSubTree *&tree) const +{ + OFCondition result = EC_Normal; + if (!isEmpty()) + { + /* first, create a clone of this tree */ + tree = clone(); + if (tree != NULL) + { + /* expand all "included template" nodes in the new tree */ + result = expandIncludedTemplates(tree); + /* in case of error, free memory */ + if (result.bad()) + { + delete tree; + tree = NULL; + } + } else + result = EC_MemoryExhausted; + } else { + tree = NULL; + result = SR_EC_EmptyDocumentTree; + } + return result; +} + + +OFBool DSRDocumentSubTree::compareTemplateIdentification(const OFString &templateIdentifier, + const OFString &mappingResource, + const OFString &mappingResourceUID) const +{ + OFBool result = OFFalse; + /* check whether template identification is possible */ + if (canUseTemplateIdentification()) + { + /* compare with template identification of root CONTAINER */ + result = getRoot()->compareTemplateIdentification(templateIdentifier, mappingResource, mappingResourceUID); + } + return result; +} + + OFCondition DSRDocumentSubTree::getTemplateIdentification(OFString &templateIdentifier, OFString &mappingResource) const { @@ -699,6 +866,13 @@ size_t DSRDocumentSubTree::addNode(DSRDocumentTreeNode *node, } +size_t DSRDocumentSubTree::replaceNode(DSRDocumentTreeNode *node) +{ + /* might add further checks later on */ + return DSRTree::replaceNode(node); +} + + DSRDocumentTreeNode *DSRDocumentSubTree::extractNode() { /* might add further checks later on */ @@ -720,6 +894,98 @@ size_t DSRDocumentSubTree::removeNode() } +OFCondition DSRDocumentSubTree::includeTemplate(const DSRSharedSubTemplate &subTemplate, + const E_AddMode addMode, + const E_RelationshipType defaultRelType) +{ + OFCondition result = EC_Normal; + /* make sure that managed object exists */ + if (subTemplate) + { + /* create node that stores the reference to the included template */ + DSRDocumentTreeNode *node = new DSRIncludedTemplateTreeNode(subTemplate, defaultRelType); + if (node != NULL) + { + /* check whether adding the node actually works */ + if (addNode(node, addMode) == 0) + { + result = SR_EC_CannotAddContentItem; + /* if not, delete node */ + delete node; + } + } else + result = EC_MemoryExhausted; + } else + result = EC_IllegalParameter; + return result; +} + + +OFCondition DSRDocumentSubTree::expandIncludedTemplates(DSRDocumentSubTree *tree) const +{ + OFCondition result = EC_Normal; + /* make sure that the passed tree pointer is valid and the tree is not empty */ + if ((tree != NULL) && (tree->gotoRoot() > 0)) + { + OFBool nodeDeleted; + const DSRDocumentTreeNode *node; + /* iterate over all nodes */ + do { + node = tree->getNode(); + nodeDeleted = OFFalse; + if (node != NULL) + { + /* and expand the included templates (if any) */ + if (node->getValueType() == VT_includedTemplate) + { + const DSRSubTemplate *subTempl = OFstatic_cast(const DSRIncludedTemplateTreeNode *, node)->getValue().get(); + if (subTempl != NULL) + { + /* template has no content items */ + if (subTempl->isEmpty()) + { + /* just remove current node (included template) */ + nodeDeleted = (tree->removeNode() > 0); + } else { + /* clone the subtree managed by the template */ + DSRDocumentSubTree *subTree = subTempl->cloneTree(); + if (subTree != NULL) + { + /* check whether there are any "unknown" relationships on top level */ + const E_RelationshipType defaultRelType = node->getRelationshipType(); + DSRDocumentTreeNodeCursor cursor(subTree->getRoot()); + do { + DSRDocumentTreeNode *curNode = cursor.getNode(); + /* if so, replace them with the "default" relationship type */ + if ((curNode != NULL) && (curNode->getRelationshipType() == RT_unknown)) + curNode->setRelationshipType(defaultRelType); + } while (cursor.gotoNext()); + /* replace the current node (and its children) with the cloned subtree */ + if (tree->replaceNode(subTree->getRoot()) > 0) + { + /* "forget" reference to root node */ + subTree->getAndRemoveRootNode(); + } else + result = SR_EC_CannotInsertSubTree; + /* free memory */ + delete subTree; + } else + result = EC_MemoryExhausted; + } + } + } + } else + result = SR_EC_InvalidDocumentTree; + } while (result.good() && (nodeDeleted || tree->iterate())); + /* finally, set cursor back to root node */ + if (result.good()) + tree->gotoRoot(); + } else + result = EC_IllegalParameter; + return result; +} + + OFCondition DSRDocumentSubTree::checkByReferenceRelationships(const size_t mode, const size_t flags) { @@ -737,95 +1003,89 @@ OFCondition DSRDocumentSubTree::checkByReferenceRelationships(const size_t mode, DSRDocumentTreeNodeCursor cursor(getRoot()); if (cursor.isValid()) { - const DSRDocumentTreeNode *node = NULL; /* for all content items */ do { - node = cursor.getNode(); - if (node != NULL) + /* only check/update by-reference relationships */ + if (cursor.getNode()->getValueType() == VT_byReference) { - /* only check/update by-reference relationships */ - if (node->getValueType() == VT_byReference) + size_t refNodeID = 0; + OFString nodePosString; + cursor.getPosition(nodePosString); + /* type cast to access members of by-reference class */ + DSRByReferenceTreeNode *byRefNode = OFconst_cast(DSRByReferenceTreeNode *, OFstatic_cast(const DSRByReferenceTreeNode *, cursor.getNode())); + if (flags & RF_showCurrentlyProcessedItem) + DCMSR_INFO("Updating by-reference relationship in content item " << nodePosString); + /* start searching from root node, be careful with large trees! (tbd: might be improved later on) */ + DSRDocumentTreeNodeCursor refCursor(getRoot()); + if (mode & CM_updateNodeID) { - size_t refNodeID = 0; - OFString nodePosString; - cursor.getPosition(nodePosString); - /* type cast to access members of by-reference class */ - DSRByReferenceTreeNode *byRefNode = OFconst_cast(DSRByReferenceTreeNode *, OFstatic_cast(const DSRByReferenceTreeNode *, node)); - if (flags & RF_showCurrentlyProcessedItem) - DCMSR_INFO("Updating by-reference relationship in content item " << nodePosString); - /* start searching from root node, be careful with large trees! (tbd: might be improved later on) */ - DSRDocumentTreeNodeCursor refCursor(getRoot()); - if (mode & CM_updateNodeID) + /* update node ID (based on position string; tbc: what about included templates?) */ + refNodeID = refCursor.gotoNode(byRefNode->getReferencedContentItem()); + const DSRDocumentTreeNode *targetNode = (refNodeID > 0) ? refCursor.getNode() : NULL; + const E_ValueType targetValueType = (targetNode != NULL) ? targetNode->getValueType() : VT_invalid; + byRefNode->updateReference(refNodeID, targetValueType); + } else { + /* node ID is expected to be valid */ + refNodeID = refCursor.gotoNode(byRefNode->getReferencedNodeID()); + if (mode & CM_updatePositionString) { - /* update node ID (based on position string) */ - refNodeID = refCursor.gotoNode(byRefNode->getReferencedContentItem()); - const DSRDocumentTreeNode *targetNode = (refNodeID > 0) ? refCursor.getNode() : NULL; - const E_ValueType targetValueType = (targetNode != NULL) ? targetNode->getValueType() : VT_invalid; - byRefNode->updateReference(refNodeID, targetValueType); - } else { - /* node ID is expected to be valid */ - refNodeID = refCursor.gotoNode(byRefNode->getReferencedNodeID()); - if (mode & CM_updatePositionString) - { - OFString refPosString; - /* update position string */ - if (refNodeID > 0) - refCursor.getPosition(refPosString); - byRefNode->updateReference(refPosString); - } else if (refNodeID == 0) - byRefNode->invalidateReference(); - } - const OFString refContentItem(byRefNode->getReferencedContentItem()); - if (refNodeID > 0) + OFString refPosString; + /* update position string (tbd: does not yet work correctly with "included templates" */ + if (refNodeID > 0) + refCursor.getPosition(refPosString); + byRefNode->updateReference(refPosString); + } else if (refNodeID == 0) + byRefNode->invalidateReference(); + } + const OFString refContentItem(byRefNode->getReferencedContentItem()); + if (refNodeID > 0) + { + /* source and target content items should not be identical */ + if (refNodeID != cursor.getNodeID()) { - /* source and target content items should not be identical */ - if (refNodeID != cursor.getNodeID()) + /* check whether target node is an ancestor of source node (prevent loops) */ + if (refContentItem.empty() || (nodePosString.substr(0, refContentItem.length()) != refContentItem)) { - /* check whether target node is an ancestor of source node (prevent loops) */ - if (refContentItem.empty() || (nodePosString.substr(0, refContentItem.length()) != refContentItem)) + /* refCursor should now point to the reference target (refNodeID > 0) */ + const DSRDocumentTreeNode *parentNode = cursor.getParentNode(); + DSRDocumentTreeNode *targetNode = refCursor.getNode(); + if ((parentNode != NULL) && (targetNode != NULL)) { - /* refCursor should now point to the reference target (refNodeID > 0) */ - const DSRDocumentTreeNode *parentNode = cursor.getParentNode(); - DSRDocumentTreeNode *targetNode = refCursor.getNode(); - if ((parentNode != NULL) && (targetNode != NULL)) + /* specify that this content item is target of an by-reference relationship */ + targetNode->setReferenceTarget(); + /* do we really need to check the constraints? */ + E_RelationshipType relationshipType = byRefNode->getRelationshipType(); + if (!(flags & RF_ignoreRelationshipConstraints) && + (!(flags & RF_acceptUnknownRelationshipType) || (relationshipType != RT_unknown))) { - /* specify that this content item is target of an by-reference relationship */ - targetNode->setReferenceTarget(); - /* do we really need to check the constraints? */ - E_RelationshipType relationshipType = byRefNode->getRelationshipType(); - if (!(flags & RF_ignoreRelationshipConstraints) && - (!(flags & RF_acceptUnknownRelationshipType) || (relationshipType != RT_unknown))) + /* check whether relationship is valid */ + if ((ConstraintChecker != NULL) && + !ConstraintChecker->checkContentRelationship(parentNode->getValueType(), relationshipType, + targetNode->getValueType(), OFTrue /*byReference*/)) { - /* check whether relationship is valid */ - if ((ConstraintChecker != NULL) && - !ConstraintChecker->checkContentRelationship(parentNode->getValueType(), relationshipType, - targetNode->getValueType(), OFTrue /*byReference*/)) - { - if (refContentItem.empty()) - DCMSR_WARN("Invalid by-reference relationship at content item \"" << nodePosString << "\""); - else { - DCMSR_WARN("Invalid by-reference relationship between content item \"" - << nodePosString << "\" and \"" << refContentItem << "\""); - } + if (refContentItem.empty()) + DCMSR_WARN("Invalid by-reference relationship at content item \"" << nodePosString << "\""); + else { + DCMSR_WARN("Invalid by-reference relationship between content item \"" + << nodePosString << "\" and \"" << refContentItem << "\""); } } - } else - DCMSR_WARN("Corrupted data structures while checking by-reference relationships"); - } else { - DCMSR_WARN("By-reference relationship from \"" << nodePosString << "\" to ancestor content item \"" - << refContentItem << "\" (loop check)"); - } - } else - DCMSR_WARN("Source and target content item of by-reference relationship are identical"); - } else { - if (refContentItem.empty()) - DCMSR_WARN("Target content item of by-reference relationship does not exist"); - else - DCMSR_WARN("Target content item \"" << refContentItem << "\" of by-reference relationship does not exist"); - } + } + } else + DCMSR_WARN("Corrupted data structures while checking by-reference relationships"); + } else { + DCMSR_WARN("By-reference relationship from \"" << nodePosString << "\" to ancestor content item \"" + << refContentItem << "\" (loop check)"); + } + } else + DCMSR_WARN("Source and target content item of by-reference relationship are identical"); + } else { + if (refContentItem.empty()) + DCMSR_WARN("Target content item of by-reference relationship does not exist"); + else + DCMSR_WARN("Target content item \"" << refContentItem << "\" of by-reference relationship does not exist"); } - } else - result = SR_EC_InvalidDocumentTree; + } } while (result.good() && cursor.iterate()); } } @@ -840,13 +1100,10 @@ void DSRDocumentSubTree::resetReferenceTargetFlag() DSRDocumentTreeNodeCursor cursor(getRoot()); if (cursor.isValid()) { - DSRDocumentTreeNode *node = NULL; /* iterate over all nodes */ do { - node = cursor.getNode(); /* and reset the flag */ - if (node != NULL) - node->setReferenceTarget(OFFalse); + cursor.getNode()->setReferenceTarget(OFFalse); } while (cursor.iterate()); } } @@ -858,8 +1115,8 @@ void DSRDocumentSubTree::updateTreeForOutput() } -OFCondition DSRDocumentSubTree::checkSubTreeConstraints(DSRDocumentSubTree *tree, - DSRIODConstraintChecker *checker) +OFCondition DSRDocumentSubTree::checkSubTreeConstraints(const DSRDocumentSubTree *tree, + const DSRIODConstraintChecker *checker) const { OFCondition result = EC_Normal; /* make sure that the passed tree pointer is valid */ @@ -887,6 +1144,13 @@ OFCondition DSRDocumentSubTree::checkSubTreeConstraints(DSRDocumentSubTree *tree check = checker->checkContentRelationship(parent->getValueType(), node->getRelationshipType(), targetValueType, OFTrue /*byReference*/); + } + /* is it an included template? */ + else if (node->getValueType() == VT_includedTemplate) + { + // tbd: need to implement a proper check for this case + DCMSR_TRACE("DSRDocumentSubTree::checkSubTreeConstraints() Need to check subtree of included template " + << "at node id:" << node->getNodeID() << " ... not yet implemented"); } else { /* check whether the relationship with parent is allowed */ check = checker->checkContentRelationship(parent->getValueType(), diff --git a/dcmsr/libsrc/dsrdoctn.cc b/dcmsr/libsrc/dsrdoctn.cc index 8c492925..b7583e87 100644 --- a/dcmsr/libsrc/dsrdoctn.cc +++ b/dcmsr/libsrc/dsrdoctn.cc @@ -1,6 +1,6 @@ /* * - * Copyright (C) 2000-2015, OFFIS e.V. + * Copyright (C) 2000-2016, OFFIS e.V. * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation were developed by @@ -136,6 +136,38 @@ OFCondition DSRDocumentTreeNode::print(STD_NAMESPACE ostream &stream, } +OFCondition DSRDocumentTreeNode::printExtended(STD_NAMESPACE ostream &stream, + const size_t flags) const +{ + /* print observation date/time (optional) */ + if (!ObservationDateTime.empty()) + { + OFString tmpString; + DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER) + stream << " {" << dicomToReadableDateTime(ObservationDateTime, tmpString) << "}"; + } + /* print annotation (optional) */ + if (hasAnnotation() && (flags & PF_printAnnotation)) + { + DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_ANNOTATION) + stream << " \"" << getAnnotation().getText() << "\""; + } + /* print template identification (conditional) */ + if (hasTemplateIdentification() && (flags & PF_printTemplateIdentification)) + { + DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_DELIMITER) + stream << " # "; + DCMSR_PRINT_ANSI_ESCAPE_CODE(DCMSR_ANSI_ESCAPE_CODE_TEMPLATE_ID) + stream << "TID " << TemplateIdentifier; + stream << " (" << MappingResource; + if (!MappingResourceUID.empty()) + stream << ", " << MappingResourceUID; + stream << ")"; + } + return EC_Normal; +} + + OFCondition DSRDocumentTreeNode::read(DcmItem &dataset, const DSRIODConstraintChecker *constraintChecker, const size_t flags) @@ -282,7 +314,7 @@ OFCondition DSRDocumentTreeNode::writeXML(STD_NAMESPACE ostream &stream, /* write optional template identification */ if ((flags & XF_writeTemplateIdentification) && !(flags & XF_templateElementEnclosesItems)) { - if (!TemplateIdentifier.empty() && !MappingResource.empty()) + if (hasTemplateIdentification()) { if (flags & XF_templateIdentifierAsAttribute) { @@ -336,14 +368,9 @@ OFCondition DSRDocumentTreeNode::writeXML(STD_NAMESPACE ostream &stream, DSRDocumentTreeNodeCursor cursor(getDown()); if (cursor.isValid()) { - const DSRDocumentTreeNode *node = NULL; /* for all child nodes */ do { - node = cursor.getNode(); - if (node != NULL) - result = node->writeXML(stream, flags); - else - result = SR_EC_InvalidDocumentTree; + result = cursor.getNode()->writeXML(stream, flags); } while (result.good() && cursor.gotoNext()); } return result; @@ -357,7 +384,7 @@ void DSRDocumentTreeNode::writeXMLItemStart(STD_NAMESPACE ostream &stream, /* write optional template identification */ if ((flags & XF_writeTemplateIdentification) && (flags & XF_templateElementEnclosesItems)) { - if (!TemplateIdentifier.empty() && !MappingResource.empty()) + if (hasTemplateIdentification()) { stream << "